xcopy - Copia avanzada de archivos

Mantenido el

Qué es el comando xcopy

El comando xcopy es un comando avanzado para copiar archivos y directorios. Para copiar una carpeta junto con su contenido, la forma básica es xcopy origen destino /s /e /i. En comparación con el comando básico copy, tiene las siguientes características:

  • Copia con subdirectorios: copia recursivamente toda una estructura de directorios
  • Muchas opciones: filtrado por fecha o atributo de archivo, gestión de errores y más
  • Compatibilidad con copias de seguridad: admite copias incrementales que copian solo los archivos modificados
  • Compatibilidad con redes: puede reanudar una copia interrumpida a través de la red (/z)

Este artículo explica xcopy desde el uso básico hasta combinaciones prácticas de opciones.

Conceptos básicos de xcopy

La sintaxis básica de xcopy es la siguiente.

xcopy [origen] [destino] [opciones]

Copiar un solo archivo

El uso más sencillo es copiar un solo archivo.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy document.txt C:\Backup\
document.txt
1 archivo(s) copiado(s)
C:\users\user>

Esto copia document.txt en el directorio C:\Backup\.

Copiar un directorio completo

La opción /s copia un directorio junto con sus subdirectorios.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy MyFolder C:\Backup\MyFolder\ /s
MyFolder\file1.txt
MyFolder\file2.txt
MyFolder\SubFolder\file3.txt
3 archivo(s) copiado(s)
C:\users\user>
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

Esto copia MyFolder y todos sus subdirectorios que no estén vacíos.

Diferencia con el comando copy

El comando básico copy no puede manejar subdirectorios, mientras que xcopy puede copiar toda una estructura de directorios con /s. Consulta

para más detalles.

Usa robocopy si necesitas reintentos o replicación

xcopy sigue siendo útil, pero robocopy es más adecuado cuando necesitas reintentos ante fallos o replicación (mirroring).

Opciones principales

/s - Copiar subdirectorios

Copia también los subdirectorios que no estén vacíos.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /s

/e - Copiar también los subdirectorios vacíos

Se usa junto con /s para copiar también los subdirectorios vacíos.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /s /e
Replicar una estructura de directorios completa

Combinar /s /e copia la estructura completa, incluidos los directorios vacíos. Es útil para copias de seguridad y para duplicar directorios de plantilla.

/i - Tratar el destino como un directorio

Si el destino no existe, se crea como directorio.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source NewDestination /s /i
Source\file1.txt
Source\file2.txt
2 archivo(s) copiado(s)
C:\users\user>

Con esta opción ya no aparece la pregunta de si el destino es un nombre de archivo o de directorio.

Comportamiento cuando el destino es ambiguo

Si el destino no existe y no termina en barra invertida, xcopy puede preguntar si debe tratarlo como archivo o como directorio. En archivos por lotes, añade /i para eliminar la ambigüedad.

/y - Omitir la confirmación de sobrescritura

Sobrescribe automáticamente los archivos existentes, sin pedir confirmación.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /y
Cuidado con la sobrescritura

Con /y, los archivos existentes se sobrescriben sin confirmación. Ten cuidado de no sobrescribir por error archivos importantes.

/d - Copia incremental por fecha

Copia un archivo solo si el origen es más reciente que el de destino (o si no existe en el destino).

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /d /s

También puedes copiar solo los archivos modificados a partir de una fecha determinada.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /d:04-21-2026 /s
El formato de /d:fecha es mes-día-año

El formato /d:m-d-y es siempre mes-día-año, sea cual sea la configuración regional de Windows. En el ejemplo anterior, 04-21-2026 es el 21 de abril de 2026. Con /d solo, sin fecha, se copian únicamente los archivos más recientes que los del destino.

/m - Copiar solo los archivos con el atributo de archivo

/m copia solo los archivos que tienen activado el atributo de archivo y después desactiva ese atributo.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /s /m
A veces se usa en copias incrementales

/m se usa a veces en copias de seguridad. Para entender el atributo de archivo, consulta también

.

/u - Actualizar solo los archivos existentes

Actualiza solo los archivos que ya existen en el destino.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /u /s

/h - Incluir archivos ocultos y de sistema

Copia también los archivos ocultos y de sistema, que normalmente se omiten.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /s /e /h

/k - Conservar el atributo de solo lectura

Aplica al archivo de destino el atributo de solo lectura del archivo de origen.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /s /k

/r - Sobrescribir archivos de solo lectura

Sobrescribe también los archivos con el atributo de solo lectura.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /r

/v - Verificar la copia

Verifica que cada archivo se haya copiado correctamente.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /v /s

/q - Modo silencioso

No muestra los nombres de archivo durante la copia.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /s /q
15 archivo(s) copiado(s)
C:\users\user>

/f - Mostrar rutas completas durante la copia

Muestra las rutas completas de origen y destino.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /s /f
C:\Source\file1.txt -> C:\Destination\file1.txt
C:\Source\file2.txt -> C:\Destination\file2.txt
2 archivo(s) copiado(s)
C:\users\user>

/l - Simular la copia

Muestra la lista de archivos que se copiarían, sin copiar nada.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /s /l
Source\file1.txt
Source\file2.txt
Source\SubFolder\file3.txt
3 archivo(s)
C:\users\user>
Útil para comprobar antes

/l permite ver qué archivos se copiarían antes de copiar de verdad. Es útil antes de copiar muchos archivos.

/t - Copiar solo la estructura de directorios

Para crear solo la estructura de carpetas sin copiar archivos, usa /t.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /t /e

/j - Copiar archivos grandes sin búfer

/j puede ayudar al manejar archivos grandes.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy LargeSource LargeDestination /j

/exclude - Excluir rutas que contengan determinadas cadenas

Puedes excluir rutas de la copia usando un archivo de texto con las condiciones de exclusión.

xcopy Source Destination /s /exclude:exclude.txt

Escribe una cadena por línea en exclude.txt. Un archivo se excluye cuando la ruta completa de origen contiene la cadena, así que escribe entradas como .tmp o \node_modules\.

/c - Continuar si hay errores

Aunque algunos archivos no se puedan copiar, por ejemplo por acceso denegado, se sigue copiando el resto.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /s /e /c

/z - Modo reiniciable

Si la conexión se corta mientras se copia por la red, la copia puede reanudarse tras volver a conectar.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy \\Server\Share C:\Backup\ /s /z

Ejemplos prácticos

Crear una copia de seguridad

Un ejemplo que hace una copia de seguridad de toda una carpeta de proyecto.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy C:\Projects D:\Backup\Projects\ /s /e /h /i /y
  • /s /e: copia todo, incluidos los directorios vacíos
  • /h: copia los archivos ocultos
  • /i: crea automáticamente el destino como directorio
  • /y: sobrescribe sin confirmación

Copia de seguridad incremental

Un ejemplo que copia solo los archivos modificados.

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy C:\Projects D:\Backup\Projects\ /s /d /y

Con /d, solo se copian los archivos más recientes que los del destino (incluidos los que aún no se han copiado).

Copiar archivos modificados desde una fecha concreta

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy C:\Logs C:\Archive\Logs\ /s /d:01-01-2025

Esto copia solo los archivos modificados a partir del 1 de enero de 2025.

Copiar solo la estructura de directorios

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /t /e

Con /t no se copia ningún archivo y solo se crea la estructura de directorios.

Una copia completa que incluye archivos de solo lectura

- □ ×
Ícono de la consola de comandos
Consola de comandos
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>xcopy Source Destination /s /e /r /k /h
  • /s /e: copia todos los subdirectorios
  • /r: sobrescribe los archivos de solo lectura
  • /k: conserva el atributo de solo lectura
  • /h: copia los archivos ocultos

Ejemplos de archivos por lotes

Script de copia de seguridad diaria

@echo off
setlocal

REM Configuración de la copia
set "SOURCE=C:\Projects"
set "DESTINATION=D:\Backup\Projects"
set "LOGFILE=C:\Backup\backup_log.txt"

echo ======================================== >> "%LOGFILE%"
echo Copia iniciada: %DATE% %TIME% >> "%LOGFILE%"
echo ======================================== >> "%LOGFILE%"

REM Ejecutar la copia incremental
xcopy "%SOURCE%" "%DESTINATION%\" /s /e /i /d /y /h /r >> "%LOGFILE%" 2>&1

REM El código de salida 1 (nada que copiar) solo indica que no hubo cambios, así que no se trata como error
if errorlevel 2 (
    echo Error: la copia de seguridad falló >> "%LOGFILE%"
) else (
    echo La copia de seguridad se completó correctamente >> "%LOGFILE%"
)

echo Copia finalizada: %DATE% %TIME% >> "%LOGFILE%"
echo. >> "%LOGFILE%"

endlocal

Script de confirmación antes de copiar

@echo off
setlocal

set "SOURCE=C:\Source"
set "DESTINATION=C:\Destination"

echo Archivos que se copiarán:
echo ================================
xcopy "%SOURCE%" "%DESTINATION%\" /s /e /i /l

echo.
echo ¿Copiar los archivos indicados arriba? (Y/N)
choice /c YN /n

if errorlevel 2 goto :cancel
if errorlevel 1 goto :copy

:copy
echo.
echo Iniciando la copia...
xcopy "%SOURCE%" "%DESTINATION%\" /s /e /i /y
echo La copia ha finalizado.
goto :end

:cancel
echo La copia se canceló.
goto :end

:end
endlocal

Códigos de salida y solución de problemas

xcopy devuelve los siguientes códigos de salida (ErrorLevel) según el resultado. if errorlevel N comprueba “N o mayor”, así que comprueba desde el valor más alto hacia abajo.

Código de salidaDescripción
0Los archivos se copiaron sin errores
1No se encontraron archivos para copiar
2El usuario pulsó Ctrl+C para terminar xcopy
4Error de inicialización (memoria o espacio en disco insuficiente, sintaxis no válida, etc.)
5Error de escritura en disco

Ejemplo de gestión de errores

@echo off
xcopy Source Destination /s /e /i /y

if errorlevel 5 goto :disk_error
if errorlevel 4 goto :init_error
if errorlevel 2 goto :user_cancel
if errorlevel 1 goto :no_files
goto :success

:disk_error
echo Error: se produjo un error de escritura en disco
goto :end

:init_error
echo Error: error de inicialización (memoria o espacio en disco insuficiente, sintaxis no válida, etc.)
goto :end

:user_cancel
echo Cancelado por el usuario
goto :end

:no_files
echo No se encontraron archivos para copiar
goto :end

:success
echo Los archivos se copiaron correctamente

:end

Resumen

Este artículo trató lo siguiente sobre el comando xcopy:

  • Uso básico: copiar archivos y directorios
  • Opciones principales: copia de subdirectorios, filtrado por fecha, gestión de atributos, copia solo de la estructura y más
  • Ejemplos prácticos: copias de seguridad, copia incremental, duplicar una estructura de directorios
  • Uso en archivos por lotes: scripts de copia diaria y más
  • Gestión de errores: tratamiento adecuado de los códigos de salida

xcopy ofrece una copia más avanzada que copy y es muy útil para automatizar copias de seguridad y la gestión de archivos. Combinando opciones como /s /e /d puedes crear una copia incremental eficiente.

Sobre el comando robocopy

Si necesitas una copia más avanzada o replicación, considera robocopy, que ofrece aún más funciones que xcopy.

Comandos similares

Preguntas de práctica

Problema de práctica

Elige el comando correcto para copiar un directorio completo, incluidos los subdirectorios vacíos.

回答がサーバーに送信されることはありません
Problema de práctica

¿Qué opción copia solo los archivos modificados desde la última copia de seguridad (copia incremental)?

回答がサーバーに送信されることはありません
Problema de práctica

¿Qué opción solo muestra la lista de archivos que se copiarían, sin copiarlos realmente?

回答がサーバーに送信されることはありません
#Símbolo del sistema #Archivo por lotes #Operaciones con archivos #Copiar #Comando