it-swarm-es.com

¿Cuál es el comando de línea de comando de Windows para copiar archivos?

¿Cuál es el comando de comando de Windows para copiar archivos?

Necesito mover un archivo de la ubicación A a la ubicación B. Además, si la carpeta para la ubicación B no existe, quiero que se cree.

Necesito que esto sea una línea de comando para poder automatizarlo.

La versión de Windows es XP.

35
David Basarab

El comando xcopy es lo que está buscando. Ejemplo:

xcopy source destination /E /C /H /R /K /O /Y

El comando anterior copiará el origen al destino, los archivos y directorios (incluidos los vacíos), no se detendrá por error, copiará los archivos ocultos y del sistema, sobrescribirá los archivos de solo lectura, conservará los atributos y la información de propiedad/ACL, y suprimirá el solicitando sobrescribir los archivos de destino existentes.

/E    Copies directories and subdirectories, including empty ones.
      Same as /S /E. May be used to modify /T.
/C    Continues copying even if errors occur.
/H    Copies hidden and system files also.
/R    Overwrites read-only files.
/K    Copies attributes. Normal Xcopy will reset read-only attributes.
/O    Copies file ownership and ACL information.
/Y    Suppresses prompting to confirm you want to overwrite an
      existing destination file.

Para más información escriba xcopy /? y su línea de comando.

47
user1797

Utilizar md para crear la carpeta (está bien si ya existe)

Utilizar copiar o moverse para archivos y xcopy para carpetas

8
Dani

En un archivo por lotes:

if not exists locationB\nul mkdir locationB
copy locationA\file locationB

if not exists comprueba el parámetro para ver si existe, pero solo funciona en archivos. Para verificar la existencia de un directorio, debe buscar un 'pseudo-archivo' llamado "nul" - la comprobación de la existencia de este archivo siempre devolverá verdadero si el directorio existe.

La línea de copia copia el archivo llamado file en el directorio locationA a locationB y nombra el archivo de la misma manera. Si desea cambiar el nombre del archivo al mismo tiempo, también puede hacerlo:

copy locationA\file locationB\newfilename
2
Graeme Perrow

Si desea la capacidad de sincronizar la copia y otras funciones avanzadas (ignore ciertas carpetas, solo incluya ciertos comodines), mire robocopy. Incluido en Vista y más allá, opcional (desde las herramientas del kit de recursos) en versiones anteriores.

2
Richard

Use ROBOCOPY si está creando scripts de respaldo. xcopy ha quedado en desuso y es probable que deje de usarse en un futuro próximo. robocopy puede hacer todo lo que xcopy puede. También es más flexible y confiable. Crear scripts con robocopy los preparará para el futuro.


  1. Use robocopy para copiar fácilmente carpetas. El comando robocopy reemplaza al comando xcopy. Puede copiar rápidamente carpetas completas sin tener que preocuparse por definir el contenido. Por ejemplo, para copiar todo el contenido del directorio C:\tools a la nueva carpeta D:\backup\tools, ingrese lo siguiente:

    robocopy C:\tools D:\backup\tools /e
    

    El modificador/e le dice a robocopy que incluya todos los subdirectorios. Esto incluye carpetas vacías. robocopy copiará automáticamente los archivos ocultos y del sistema. Creará nuevos directorios si no existen en la ubicación de destino.

  2. Reflejar un directorio. Duplicar un directorio es excelente para hacer copias de seguridad. La opción espejo de robocopy copiará todo el contenido del origen al destino. Luego eliminará cualquier cosa en el destino que no exista en la fuente. Esto garantiza que su copia de seguridad solo tenga las últimas versiones de sus archivos. Por ejemplo, para duplicar C:\Usuarios\Mis documentos en D:\copia de seguridad\Mis documentos, ingrese lo siguiente: [4]

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
    

    Esta función preservará todos los permisos de los archivos originales.

  3. Habilitar reinicio. Es posible que desee incluir la posibilidad de reiniciar el proceso en caso de que la conexión se corte a mitad de la copia.

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
    
  4. Registre el proceso de copia. robocopy le permite crear un archivo de registro. Esto puede ayudarlo a detectar problemas o generar un archivo de lo que se ha copiado.

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt
    

    El modificador/log + agregará el archivo de registro existente en lugar de sobrescribirlo. Si prefiere sobrescribir el archivo de registro anterior, use /log:.txt.

2
Program-Me-Rev

xcopy creará la estructura de directorios para usted. El truco consiste en utilizar la opción/I y arrojar un asterisco al final del nombre del archivo para que xcopy piense que está copiando varios archivos; de lo contrario, le preguntará si el nombre de destino es el nombre del archivo que desea o el nombre del directorio que desea . Por ejemplo.

xcopy /I c:\<SourceDir>\<SourceFile> c:\<TargetDirThatDoesNOTExist>

También miraría RoboCopy, pero debe obtenerlo del kit de recursos, ya que no está en Windows hasta Vista.

0
WaldenL