Forum Gry Hobby Sprzęt Rozmawiamy Archiwum Regulamin

Forum: Skrypt do kopiowania

25.10.2015 15:29
1
mcl007
169
Galaxy Ranger

Skrypt do kopiowania

Witam,
Potrzebuje "skrypt, makro, program" ktory bedzie kopiowal plik o zadanej nazwie (grupa plikow) do innego folderu.
Wstepnie napisane przez znajomego zostalo cos takiego (co widac ponizej). Uruchamiane jest to jako plik BAT, uruchamiac sie musi pod windows 7. Wszelkie pomysly i modyfikacje mile widziane ew napisanie tego w czyms innym.

spoiler start

@set data=%date%
@SET CURRENT_DATE=%date: =0%
@SET YEAR=%CURRENT_DATE:~0,4%
@SET MONTH=%CURRENT_DATE:~5,2%
@SET DAY=%CURRENT_DATE:~8,2%


@echo Dzisiaj jest:
@echo %YEAR%
@echo %MONTH%
@echo %DAY%

xcopy e:\skany\%YEAR%_%MONTH%_%DAY%\abcde*.pdf K:\skany\abcde\*_*.pdf /-y
xcopy e:\skany\%YEAR%_%MONTH%_%DAY%\fghij*.pdf K:\skany\fghij\*_*.pdf /-y
xcopy e:\skany\%YEAR%_%MONTH%_%DAY%\klmno*.txt K:\skany\klmno\*_*.pdf /-y

@pause "Zakonczono kopiowanie"

spoiler stop

25.10.2015 16:29
nagytow
2
odpowiedz
nagytow
146
Firestarter

Wrzuciles kod do spoilera, nie napisales z czym konkretnie jest problem, czego wlasciwie oczekujesz?

26.10.2015 16:53
3
odpowiedz
mcl007
169
Galaxy Ranger

Z tym spoilerem to mialo byc inaczej.

Co do oczekiwan.
Grupa plikow o zadanej nazwie ( np: jacek123456 - gdzie liczby sie zmieniaja) ma zostac skopiowana z jednego miejsca do drugiego. Pliki jacek do jednego folderu, iwonka do drugiego a basia do trzeciego. Skrypt musi sprawdzic foldery na dysku A i skobiowac brakujace na dysku B. Cos jak synchronizacja danych tyle ze z zachowaniem pewnych katalogow oraz z podzialem na jacka, iwonke i basie

26.10.2015 17:10
wysiak
4
odpowiedz
wysiak
95
tafata tofka

No to przeciez wkleiles wyzej taki skrypt, cos z nim jest nie tak?

26.10.2015 19:05
5
odpowiedz
mcl007
169
Galaxy Ranger

No nie dziala.
Zwraca blad ze za duzo parametrow.
Przeciez gdyby dzialalo to bym nie prosil o pomoc

26.10.2015 19:10
wysiak
6
odpowiedz
wysiak
95
tafata tofka

Ale co i kiedy zwraca blad? Bo ten skrypt jest prawidlowy, xcopy tez jest poprawnie wywolane i ma dobre parametry...

26.10.2015 19:17
7
odpowiedz
zanonimizowany561661
45
Senator

Nie jestem pewien czy nazwy katalogów %YEAR%_%MONTH%_%DAY% nie powinny być w ""

26.10.2015 19:34
wysiak
8
odpowiedz
wysiak
95
tafata tofka

Niekoniecznie, tez o tym pomyslalem i sprawdzilem czy nie ma spacji - tworzone jest cos takiego:

Dzisiaj jest:
'2015'
'10'
'26'

I parametry dla xcopy wygladaja tak:
e:\skany\2015_10_26\abcde*.pdf K:\skany\abcde\*_*.pdf /-y

xcopy przynajmniej u mnie uruchamia sie z tym bez problemu, zglasza tylko, ze nic nie zostalo skopiowane bo nie ma takich partycji, jak e czy k.

Btw, "*_*.pdf" w czesci "K:\skany\abcde\*_*.pdf" jest zbedne, wystarczy podac katalog docelowy "K:\skany\abcde\" - ale i z tym nie robi u mnie problemu.

28.10.2015 19:09
9
odpowiedz
mcl007
169
Galaxy Ranger

A u mnie zwraca blad ze za duzo parametrow :\
Nie rozumiem :[

EDIT:
w sensie w domu tez dziala, a w robocie nie dziala.

28.10.2015 21:31
10
odpowiedz
QrKo
161
Yarr!
Image

panel sterowania -> region i język

28.10.2015 21:38
11
odpowiedz
QrKo
161
Yarr!
Image

Jezeli nie to, to byc moze cos innego pod przyciskiem "ustawienia dodatkowe". Te pozornie błache ustawienia mogą czasami sporo namieszać.

28.10.2015 21:39
wysiak
12
odpowiedz
wysiak
95
tafata tofka

Podmien linijki gdzie masz uruchamiane xcopy

xcopy e:\skany\%YEAR%_%MONTH%_%DAY%\abcde*.pdf K:\skany\abcde\*_*.pdf /-y
xcopy e:\skany\%YEAR%_%MONTH%_%DAY%\fghij*.pdf K:\skany\fghij\*_*.pdf /-y
xcopy e:\skany\%YEAR%_%MONTH%_%DAY%\klmno*.txt K:\skany\klmno\*_*.pdf /-y

na

@echo e:\skany\%YEAR%_%MONTH%_%DAY%\abcde*.pdf K:\skany\abcde\*_*.pdf /-y
@echo e:\skany\%YEAR%_%MONTH%_%DAY%\fghij*.pdf K:\skany\fghij\*_*.pdf /-y
@echo e:\skany\%YEAR%_%MONTH%_%DAY%\klmno*.txt K:\skany\klmno\*_*.pdf /-y

Odpal to w linii komend i daj znac co sie wyswietla.

29.10.2015 17:53
13
odpowiedz
mcl007
169
Galaxy Ranger

No wiec troche sugerujac sie tym co napisaliscie a troche logika problem rozwiazalem nastepujaco:
- Nazwy folderow skrocilem (mialem w pracy dluzsze nazwy) i zeby nie bylo wiekszych klopotow zapisalem w formacie 8.3 czyli abcdef~1
- zmienilem parametry z /-y na /Y /D (sam parametr -y wymuszal kazdorazowe potwierdzanie czy nadpisac plik, zmiana go na /Y z klucza daje informacje ze ma nadpisac, w polaczeniu ze /D nadpisuje tylko pliki ktore na folderze wyjsciowym maja nowsza date niz na folderze docelowym)
- dodalem %YEAR%_%MONTH% na koncu foldera docelowego przez co uzyskalem ze w momencie kopiowania skrypt tworzy mi odpowiednio nazwany folder do ktorego kopiuje.

No i tak oto problem zostal rozwiazany :D

Forum: Skrypt do kopiowania