Non capisco il comportamento del comando COPY quando si utilizza un carattere jolly.L'utilizzo di wildard con il comando DOS COPY danneggia il file di destinazione
Ho un singolo file di testo in C:\Source
chiamato mpt*.asm
e voglio copiarlo in C:\Dest
. Questo è necessario da uno script batch e non posso essere sicuro del nome esatto di mpt*.asm
(potrebbe essere mpt001.asm
ad esempio). Il nome della destinazione dovrebbe essere esattamente mpt.asm.
se uso:
COPY C:\Source\mpt*.asm C:\Dest\mpt.asm
Il file file viene copiato, ma ha un (0x1A
) carattere aggiuntivo aggiunto alla fine del file.
se uso:
COPY C:\Source\mpt*.asm C:\Dest\mpt.asm /B
Non capisco questo carattere spurio.
Se non utilizzo un carattere jolly, non ottengo neanche il carattere spuria. Sembra improbabile che ci sia un bug in COPY
, ma questo comportamento sembra inaspettato.
C'è un modo per fare questa copia senza ricorrere all'utilizzo di /B
?
Hai ragione, questo è dovuto al fatto che 'copia' funziona in modalità append. Il carattere extra 1A viene dal DOS; era necessario per contrassegnare EOF su file di testo. '/ B' specifica i file binari che evitano il problema. http://www.tech-archive.net/Archive/Win2000/microsoft.public.win2000.cmdprompt.admin/2009-08/msg00010.html – sourcejedi