Я пишу общую программу резервного копирования файлов. Он ищет на диске файлы, соответствующие набору типов, а затем записывает их в папку на рабочем столе. Я написал его с помощью xcopy
в Windows XP, но, узнав, что xcopy
устарел в пользу robocopy
в Vista и более новых версиях, все еще желая поддерживать совместимость, я решил переключиться на неотрицательную copy
.
Здесь начинаются проблемы. Я пытаюсь исправить процедуру копирования. Я думал, что у меня все разобрано, но это ничего не копирует. Мой вывод - ноль файлов, скопированных за каждую итерацию.
Исходный код с использованием xcopy
:
for /r %%a in (*.bmp *.dds *.gif *.jpg *.jpeg *.png *.psd *.pspimage *.tga *.thm *.tif *.tiff) do (
echo f | xcopy "%%a" "%HOMEDRIVE%%HOMEPATH%\Desktop\LDR\Images\Bitmap\%%~nxa" /q /y /g /c
)
Пересмотренный (неработающий) код с использованием copy
:
for /r %%a in (*.bmp *.dds *.gif *.jpg *.jpeg *.png *.psd *.pspimage *.tga *.thm *.tif *.tiff) do (
copy "%%a" "%HOMEDRIVE%%HOMEPATH%\Desktop\LDR\Images\Bitmap\%%~nxa" /d /y /z
)
Выход:
The system cannot find the path specified.
0 files copied.
Я знаю, что, кажется, все используют xcopy
или robocopy
но кто-нибудь может помочь с copy
?
Примечание. Я использую пакетный режим, чтобы он был очень легким и доступным из командной строки.