Intenté especificar un /EXCLUDE
nombre de archivo con espacios xcopy
, pero siempre se ahoga. ¿Cómo puedo especificar una ruta de este tipo xcopy
sin copiar los /EXCLUDE
archivos en el directorio actual y sin usar el antiguo ~1
truco de nombre corto de DOS ?
c:\Users\binki\Documents\repos\xcopy_exclude_spacey>dir source
Volume in drive C is OS
Volume Serial Number is 7C4E-86D4
Directory of c:\Users\binki\Documents\repos\xcopy_exclude_spacey\source
2013-01-03 16:39 <DIR> .
2013-01-03 16:39 <DIR> ..
2013-01-03 16:39 0 a
2013-01-03 16:39 0 a b c
2013-01-03 16:39 0 b
2013-01-03 16:39 0 c
4 File(s) 0 bytes
2 Dir(s) 117,279,027,200 bytes free
c:\Users\binki\Documents\repos\xcopy_exclude_spacey>type "various exclude rules\a"
a
c:\Users\binki\Documents\repos\xcopy_exclude_spacey>xcopy /E /EXCLUDE:"various exclude rules\a" source dest
Can't read file: "various exclude rules\a"
0 File(s) copied
c:\Users\binki\Documents\repos\xcopy_exclude_spacey>xcopy /E "/EXCLUDE:various exclude rules\a" source dest
Invalid number of parameters
Ninguna de las formas de citar el nombre de archivo que funcionaría bien en un shell decente me funciona con xcopy. Por alguna razón, la "/EXCLUDE:<filename>"
sintaxis impide que se reconozca la opción en sí. La otra sintaxis, "/EXCLUDE:"<filename>"
hace Can't read file: "<filename>"
que se imprima el mensaje , mostrando que la opción se está analizando correctamente: las comillas dobles evitan que el argumento se divida en varias partes. Sin embargo, este mensaje sugiere que xcopy no elimina correctamente las comillas dobles del nombre de archivo antes de intentar abrir el archivo.
Parece, a partir de esto, que si el primer componente de la ruta que especifico /EXCLUDE
comenzó con ay "
mi /EXCLUDE
nombre de archivo termina "
, podría hacer referencia a ese archivo desde la /EXCLUDE
opción de xcopy con éxito. Pero Windows se niega a dejarme colocar el "
carácter en mi nombre de archivo.
Entonces, ¿cómo uso xcopy en un mundo moderno con nombres de archivos espaciales?