Eu tenho o arquivo DWA_160_drv_RevB_2_2-42_all_en_20130313.zip na área de trabalho. Eu quero copiá-lo para uma unidade flash USB usando o CMD. Eu uso o comando copy para fazer isso, mas estou obtendo resultados bizarros, ou seja, o arquivo original é cerca de 30 mil (!!) vezes maior que o novo arquivo.
C:\Users\Sam\Desktop>
C:\Users\Sam\Desktop>dir dwa*
Volume in drive C is Vista (ST1PT1)
Volume Serial Number is D27C-,,,,
Directory of C:\Users\Sam\Desktop
2013-10-10 11:56 23 324 179 DWA_160_drv_RevB_2_2-42_all_en_20130313.zip
1 File(s) 23 324 179 bytes
0 Dir(s) 3 318 292 480 bytes free
C:\Users\Sam\Desktop>copy dwa* d:\dwa-driver.zip
DWA_160_drv_RevB_2_2-42_all_en_20130313.zip
1 file(s) copied.
C:\Users\Sam\Desktop>d:
D:\>dir
Volume in drive D is CRUZER
Volume Serial Number is 0085-,,,,
Directory of D:\
2013-10-10 13:41 734 dwa-driver.zip
1 File(s) 734 bytes
0 Dir(s) 2 050 744 320 bytes free
D:\>
Como isso pode ser? ... como isso é possível? O comando é concluído com sucesso, mas o arquivo resultante é como uma gota de água no oceano quando você compara o tamanho dele e aparentemente está corrompido.
Estou fazendo algo errado aqui?
Eu pensei que poderia ter a ver com a maneira que eu digito no caminho de pesquisa de origem e destino, então adicionei aspas. Eu não posso dizer que ajudou.
D:\>c:
C:\Users\Sam\Desktop>copy "dwa*" "d:\dwa-driver.zip"
DWA_160_drv_RevB_2_2-42_all_en_20130313.zip
Overwrite d:\dwa-driver.zip? (Yes/No/All):
0 file(s) copied.
C:\Users\Sam\Desktop>d:
D:\>c:
C:\Users\Sam\Desktop>copy "dwa*" "d:\dwa-driver.zip"
DWA_160_drv_RevB_2_2-42_all_en_20130313.zip
Overwrite d:\dwa-driver.zip? (Yes/No/All): y
1 file(s) copied.
C:\Users\Sam\Desktop>d:
D:\>dir
Volume in drive D is CRUZER
Volume Serial Number is 0085-,,,,
Directory of D:\
2013-10-10 13:56 734 dwa-driver.zip
1 File(s) 734 bytes
0 Dir(s) 2 050 744 320 bytes free
D:\>
Então, decidi usar o nome completo do arquivo de origem, utilizando o recurso de preenchimento automático no CMD para garantir que ele seja digitado corretamente. E desta vez deu certo! Aqui está o comando.
D:\>c:
C:\Users\Sam\Desktop>copy DWA_160_drv_RevB_2_2-42_all_en_20130313.zip d:\dwa-d
river2.zip
1 file(s) copied.
C:\Users\Sam\Desktop>d:
D:\>dir
Volume in drive D is CRUZER
Volume Serial Number is 0085-,,,,
Directory of D:\
2013-10-10 13:56 734 dwa-driver.zip
2013-10-10 11:56 23 324 179 dwa-driver2.zip
2 File(s) 23 324 913 bytes
0 Dir(s) 2 027 417 600 bytes free
D:\>
Então desta vez funcionou!?!? Qual é a diferença entre dwa-driver2.zip e dwa-driver.zip? E como o arquivo original - DWA_160_drv_RevB_2_2-42_all_en_20130313.zip - compara com dwa-driver.zip? Para responder, fiz uma comparação lado a lado textual e hexadecimal. Veja as capturas de tela abaixo.
O que exatamente acontece na linha 6? Por que está copiando as 5 primeiras linhas sem um problema e depois fica preso na linha 6 (veja a captura de tela do WinMerge)? Ambos os arquivos são idênticos, até a linha 6, e desse ponto em diante nenhum outro dado é copiado para o novo arquivo. Por quê? Não tenho permissão para usar caracteres curinga com o comando copy?
Atualizar
Vou apenas chamar de bug e usar o comando xcopy porque ele aceita qualquer coisa que eu lance nele. Não importa se há caracteres curinga ou não. É lamentável que o comando xcopy não esteja disponível em todos os modos do Windows e janelas de prompt de comando.
D:\>c:
C:\Users\Sam\Desktop>xcopy dwa* d:\dwa-driver3.zip
Does D:\dwa-driver3.zip specify a file name
or directory name on the target
(F = file, D = directory)? f
C:DWA_160_drv_RevB_2_2-42_all_en_20130313.zip
1 File(s) copied
C:\Users\Sam\Desktop>d:
D:\>dir
Volume in drive D is CRUZER
Volume Serial Number is 0085-,,,,
Directory of D:\
2013-10-10 13:56 734 dwa-driver.zip
2013-10-10 11:56 23 324 179 dwa-driver2.zip
2013-10-10 11:56 23 324 179 dwa-driver3.zip
3 File(s) 46 649 092 bytes
0 Dir(s) 2 004 090 880 bytes free
D:\>
Screenshots
Clique para ver maior.
Comparação de texto entre DWA_160_drv_RevB_2_2-42_all_en_20130313.zip e dwa-driver.zip:
Diferença de tamanho entre o dwa-driver.zip e o dwa-driver2.zip:
Comparação de texto entre dwa-driver.zip e dwa-driver2.zip em Beyond Compare 3:
Comparação hexadecimal em Beyond Compare 3: