Mam mały plik wsadowy, który używa robocopy do utworzenia kopii zapasowej folderu. Zamierzonym działaniem jest skopiowanie C: / users / public / do D: / Backups / YYYY-MM-DDTHHMM /
Obecnie kopiuje pliki do folderu, jednak nazwa folderu pojawia się w Eksploratorze Windows jako „Publiczny” zamiast żądanej nazwy pliku. Co dziwniejsze, jeśli poprowadzę folder z cmd (lub sprawdzę kartę bezpieczeństwa jego właściwości), pojawia się jako nazwa, której pragnę!
Plik wsadowy:
@ECHO OFF
for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined MyDate set MyDate=%%x
set today=%MyDate:~0,4%-%MyDate:~4,2%-%MyDate:~6,2%T%MyDate:~8,2%%MyDate:~10,2%
robocopy C:/users/Public D:/Backups/%today%
Odpowiedzi:
Ponieważ kopiowałem katalog Windows Public; zawarty w nim plik desktop.ini zmieniał pozorną nazwę folderu.
Zmiana linii robocopy na:
robocopy C:/users/Public D:/Backups/%today% /XF desktop.ini
Wyklucza plik wyglądu systemu Windows i doskonale wykonuje zadanie.
źródło