Estou escrevendo um programa geral de backup de arquivos. Ele procura na unidade arquivos que correspondem a um conjunto de tipos e os grava em uma pasta na área de trabalho. Eu o escrevi usando o xcopyWindows XP, mas ao saber que xcopyfoi preterido em favor do robocopyVista e mais recente, ainda querendo manter a compatibilidade, decidi mudar para os não preteridos copy.
É aqui que os problemas começam. Estou tentando consertar a rotina de cópia. Eu pensei que tinha tudo resolvido, mas não copia nada. Minha saída é zero arquivos copiados para cada iteração.
Código original usando 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
)
Código (quebrado) revisado usando 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
)
Saída:
The system cannot find the path specified.
0 files copied.
Eu sei que parece que todo mundo usa um xcopyou mais, robocopymas alguém pode ajudar copy?
Nota: Estou usando o Lote para mantê-lo muito leve e acessível pela linha de comando.
D:\>(copy "D:\Program Files\Winamp\Plugins\avs\whacko6-07.bmp" "C:\Documents and Settings\,,,,\Desktop\LDR\Images\Bitmap\whacko6-07.bmp" /d /y /z ) The system cannot find the path specified. 0 file(s) copied.Uma amostra em um test drive D. Os resultados foram todos iguais.
copynão cria caminhos de arquivos e, portanto, não conseguiu copiar para um caminho que xcopyteria criado para mim. Eu vou ter que pré-criar meus diretórios, eu acho.
@fore aqui,do @(que deve listar todos os comandos e você pode ver qualquer falha. Percebo também que estão faltando aspas duplas no seu comando de cópia. Você teve-os em seu comando xcopy