[BATCH] Skrypt do tworzenia kopii zapasowej plików ukrywa folder z kopią i nie można go odkryć


(alzajac) #1

Witam,

Stworzyłem sobie prosty skrypt typu .bat który tworzy mi kopię zdjęć i filmów z dysku przenośniego. Wszystko działa ładnie tylko jest jeden problem. Po zakończeniu działania skryptu, który wklejam poniżej, ukrywa on folder ze skopiowanymi plikami. Co więcej ukrywa go tak, że nie da się go odkryć zaznaczając opcję Widok -> “Ukryte elementy” w Windows 10. Nie wiem czemu tak się dzieje i jak odkryć utworzony folder z kopiami plików. Wiem, że są tam na pewno, bo miejsce na dysku maleje, a folder (“Kopie”) w którym znajduje się podfolder z kopiami (BackUpDir) nabiera wielkości po każdym użyciu skryptu.

SET BackUpDir=%~d0\Kopie\BackUpDir

for %%d in (E:\ F:\ G:\ H:\ I:\) do (
    if exist %%d (
    robocopy %%d %BackUpDir% *.jpg *.jpeg *.mp4 *.mov *.wmv *.avi *.3gp *.3g2 *.gif /MIN:20000 /s /W:15 /XD %%dFilmy %%dSeriale )
)
exit 0

(krystian3w) #2

Na Windows 7 Pro x64 nie ukryło mi katalogu kopia ani katalogu BackUpDir, ani podkatalogów w BackUpDir.

SET BackUpDir=%~d0\Kopie\BackUpDir

for %%d in (G:\) do (
    if exist %%d (
    robocopy %%d %BackUpDir% *3.jpg *3.jpeg /MIN:20000 /s /W:15 /XD %%dFilmy %%dSeriale )
)
exit 0

Raczej ograniczenie do *3.jpg, *3.jpeg i dysku sieciowego G: tego nie zrobiło.


Aby odkryć możesz sprawdzić czy folder ma atrybut ukryty i systemowy:

C:\>attrib kopie
             C:\kopie

C:\>attrib +s +h c:\kopie

C:\>attrib kopie
   SH        C:\kopie

Co do rośnięcia kopii - https://community.spiceworks.com/topic/209883-robocopy-only-copy-new-changed-files, powinno przestać kopiować stare pliki jeśli nie są zmodyfikowane i kopię robić z nowych.


(alzajac) #3

Dzięki za pomoc. Dodanie jednej linijki attrib -s -h %BackUpDir% załatwiło sprawę.
Gdyby komuś się to przydało to poprawny kod wygląda tak:

SET BackUpDir=%~d0\Kopie\BackUpDir

for %%d in (E:\ F:\ G:\ H:\ I:\) do (
    if exist %%d (
	robocopy %%d %BackUpDir% *.jpg *.jpeg *.dng *.nef *.raw *.mp4 *.mov *.wmv *.avi *.3gp *.3g2 *.gif /MIN:20000 /s /W:15 /XD %%dFilmy %%dSeriale )
)
attrib -s -h %BackUpDir%
exit 0