2011-09-05 16 views
5

creo que quiera copiar este archivo C:\Majid\File\text.txt a D:\Copied (C:\Majid\File\text.txt ---> D:\Copied)Copiar archivos con estructura exacta en otro Directory mediante XCopy

quiero utilizar Xcopy para copiar ese archivo con todo su directorio en D:\Copied, entonces yo debería tener algo como esto --->D:\Copied\Majid\File\text.txt, como ve, la letra de la unidad se elimina y todo el otro directorio se crea en el directorio de destino.

¿Cómo puedo hacer esta acción de XCopy?

+0

¿Está planeando ejecutar este comando manualmente desde la consola o desde un programa que usted mismo haya creado? ¿Cual idioma? Si se ejecuta manualmente, esto no debe estar aquí en SO! –

+1

No estoy de acuerdo con Davide, creo que esta es una pregunta razonable. –

Respuesta

0

aquí está:

set sourceFolder="C:\Users\User\Desktop\34\*" 
set destinationFolder=%sourceFolder:~3,-1% 

xcopy %sourceFolder% "D:\xcopied%destinationFolder%" /s /i /r 

basado en @ Daniel y @WahidBitar respuestas. Gracias a los hombres;)

1

ver esto:

XCOPY COMMAND

... Sintaxis xcopy origen [destino] [/ w] [/ p] [/ c] [/ v] [/ Q] [/ f ] [/ l] [/ g] [/ d [: mm-dd-aaaa]] [/ u] [/ i] [/ e]] [/ t] [/ k] [/ r] [/h] [{/ a |/m}] [/ n] [/ o] [/ x] [/ exclude: archivo1 [+ [archivo2]] [+ [archivo3]] [{/ y |/-y} ] [/ z] ...

lo que encontrará interesante, ya que la página es la siguiente:

/s: Copia directorios y subdirectorios, a menos que estén vacíos. Si omite /s, xcopy funciona en un solo directorio.

+0

Hola Davide, tengo una aplicación que monitorea un directorio para nuevos archivos, luego de eso puedes ejecutar una aplicación para esos archivos, quiero usar Xcopy para eso./s comando no funcionará. Imagine que mi archivo es C: \ Majid \ Text.txt. Si utilizo/s, solo copio text.txt y no creo la carpeta Majid en la carpeta de destino. ¿Que debería hacer? – Nofuzy

1
set sourceFolder="C:\test\new folder\text.txt" 
set destinationFolder=%sourceFolder:~3,-1% 
echo %destinationFolder% 

xcopy %sourceFolder% "D:\xcopied%destinationFolder%" 

Algo así podría funcionar. Elimine los primeros caracteres de la fuente ("C:"), luego agregue los caracteres para la carpeta de destino ("D: \ xcopied").

+0

Hola Daniel, Bonita Respuesta, pero hará una pregunta mientras se está ejecutando. Me preguntará si el directorio de destino es un nombre de archivo o directorio, y debería ingresar F o D. No quiero ver este mensaje y establecer su opción predeterminada a D. ¿Cómo ese Daniel? Gracias por su buena respuesta otra vez :) – Nofuzy

-1

intentar algo como esto:

System.Diagnostics.Process.Start 
("XCOPY.EXE", "/E /I /Y " + filename + " " 
+ pfadauswahl + "Backup\\" + dt.ToString("yyyy-MM-dd") 
+ "\\UserData\\" + File_Name + "* "); 

con la estrella al final de la línea, me deshice de la pregunta si es un archivo o un directorio .. ya que no se ha especificado nada en cómo desea utilizarlo ... aquí está la solución para C#

+0

La pregunta es acerca de XCopy desde la línea de comandos. No pregunta nada sobre C# o 'Proceso.Start', y su respuesta está llena de variables y llamadas a funciones que no significan nada desde la línea de comando. No estoy seguro de cómo se supone que esto debe responder la pregunta que se hace aquí. –

1

éste era bueno para mí

xcopy $(SolutionDir)Libs\YourFolder\* $(TargetDir)YourFolder /s /i /r 

source

Cuestiones relacionadas