2011-04-12 9 views
19

Estoy tratando de usar xcopy para copiar varios archivos y directorios en un disco duro externo. El siguiente comando funciona bien ...Usando xcopy para copiar múltiples archivos/directorios, algunos de los cuales tienen espacios

xcopy d:\location\folder /e 

... excepto que no está copiando sobre cualesquiera ficheros/directorios withing d:/lugar/carpetas que tienen espacios. Entiendo que dos requiere nombres de archivo con espacios que deben estar entre comillas, pero ¿qué hago si estoy tratando de hacer una gran copia recursiva donde puede haber varios archivos o carpetas con espacios en el nombre?

+0

Hmm, no puedo reproducir este problema: el comando solo funciona como se esperaba, también con su estructura [d: \ location \ folder \ anotherfolder \ folder with spaces] ... ¿Tiene el atributo Archive, Hidden o System en alguna parte? ¿Los interruptores/A,/H,/F o/L ayudan de alguna manera a entender qué va mal? ¿Estás copiando a un objetivo especial? – mousio

+1

He estado usando xcopy durante varios años. Funciona bien con espacios. A veces, si la combinación resultante de carpeta + nombre de archivo es demasiado larga, se queja. Como dijo mousio, podrían ser atributos o archivos vacíos. Intente usar estos indicadores: xcopy/y/d/e/f/h/k fuente dest –

Respuesta

15

Use comillas:

xcopy "d:\location\folder" /e 
+0

Hmm, lo intenté, pero sigue siendo lo mismo. No copia las carpetas dentro de ese directorio que tienen espacios. Por ejemplo: [d: \ location \ folder \ anotherfolder \ folder con espacios] –

3

Debe utilizar comillas de la siguiente manera:

xcopy "d:location\folder\anotherfolder\folder with spaces" 

Anote la letra de unidad y el de colon ir fuera de las comillas y sin \ al principio en cualquiera.

0

Puede que esta no sea la respuesta a sus preguntas, pero una alternativa a xcopy es robocopy. Consulte la siguiente copia sobre subdirectorios.

http://ss64.com/nt/xcopy.html

Además, si hay espacios en los directorios de origen o de destino. Entonces usted debe envolverlas entre comillas (") Por ejemplo:.

xcopy " ruta soure con espacios" "targetPath"

Cheers, Herber

-2

El ejemplo que se me hace incómodo Tal vez innecesariamente, pero mi lectura en la ventana Win cmd.exe (usando [] para incluir bits relacionados: ^) es: [comando] [d: \ ubicación \ carpeta] [DESTINATION DRIVE: LOCATION: FOLDER] [/ E]

Tal vez en minúsculas/e, también funciona, tal vez en el destino implícito para la ubicación actual funciona. Cuando escribo "help xcopy" se lista th e nombre del comando, la fuente y el destino y los/Mayúsculas y minúsculas. Sí, el destino es opcional. Pero cuando los resultados no coinciden con sus expectativas, volviendo a la forma canónica, con cada jota y tilde en su lugar, parece un comienzo más fuerte. Uno puede enfocarse en lo que no está funcionando.

El ejemplo de la ayuda no lo usa, pero también me siento un poco más seguro si es claro que el camino literal dada es el tallo y explícitamente puesto en un comodín:

C:> xcopy/CE: \ copia de seguridad * C: \ ToyVmBackup
C: \ backup \ Backup_VM1_2015-08-27T221110.vbk
C: \ backup \ Backup_VM2_2015-08-31T221227.vbk
C: \ backup \ VeeamConfigBackup \ SVC-L7-WABBOTT \ SVC -L7-WABBOTT_2015-08-24_10-00-15.bco
3 archivo (s) copiado

Ok, he prefijado el/E y se salió con la suya. Su ambigüedad estoy tratando de controlar, siempre y cuando/E comience con un '/' no se tomará como ruta ...

Cuestiones relacionadas