Los comandos Copy-Item
y Move-Item
en PowerShell se utilizan para copiar y mover archivos, carpetas y otros elementos dentro del sistema de archivos. Estos comandos son esenciales para tareas de administración de archivos, automatización y organización de estructuras de directorios en el entorno de PowerShell.
Copy-Item
: Copia archivos y carpetas de una ubicación a otra, manteniendo el archivo original en la ubicación de origen.
Move-Item
: Mueve archivos y carpetas a una nueva ubicación, eliminando el archivo original del origen y colocándolo en el destino.
Ambos comandos admiten el uso de comodines (*
) para trabajar con múltiples archivos y permiten la copia o movimiento entre carpetas locales y remotas (cuando se utiliza PowerShell Remoting).
Copy-Item -Path <RutaOrigen> -Destination <RutaDestino> [-Recurse] [-Force]
Move-Item -Path <RutaOrigen> -Destination <RutaDestino> [-Force]
Copy-Item -Path "C:\Users\Usuario\documento.txt" -Destination "C:\Backup\documento.txt"
Este comando copia documento.txt
a la carpeta Backup
, manteniendo el archivo original en la ubicación de origen.
Copy-Item -Path "C:\Proyecto" -Destination "D:\Respaldo\Proyecto" -Recurse
El parámetro -Recurse
copia toda la carpeta Proyecto
, incluyendo subcarpetas y archivos, a la ubicación D:\Respaldo
.
Copy-Item -Path "C:\Users\Usuario\config.cfg" -Destination "D:\Configuracion\config.cfg" -Force
El parámetro -Force
sobrescribe el archivo config.cfg
en la carpeta de destino si ya existe, sin requerir confirmación.
Copy-Item -Path "C:\Users\Usuario\*.txt" -Destination "D:\Documentos"
Este comando copia todos los archivos .txt
desde la carpeta de origen a la carpeta D:\Documentos
.
Move-Item -Path "C:\Users\Usuario\documento.txt" -Destination "C:\Archivos\documento.txt"
Mueve documento.txt
de la carpeta Usuario
a Archivos
. El archivo ya no estará en la carpeta de origen después de la operación.
Move-Item -Path "C:\Proyectos\Proyecto1" -Destination "D:\Archivos\Proyectos\"
Este comando mueve la carpeta Proyecto1
completa (incluyendo subcarpetas y archivos) a la nueva ruta D:\Archivos\Proyectos\
.
Move-Item -Path "C:\Users\Usuario\documento_viejo.txt" -Destination "C:\Users\Usuario\documento_nuevo.txt"
Además de mover archivos, Move-Item
también se puede usar para cambiar el nombre de un archivo en la misma ubicación. En este caso, se cambia documento_viejo.txt
a documento_nuevo.txt
.
Move-Item -Path "C:\Temp\archivo.txt" -Destination "D:\Data\archivo.txt" -Force
El parámetro -Force
permite mover archivos con atributos de solo lectura o de sistema, sobrescribiendo el archivo de destino si ya existe.
Move-Item -Path "C:\ArchivosGrandes\*.iso" -Destination "D:\Backup" -Force -Verbose
El parámetro -Verbose
proporciona información adicional durante el proceso, útil para realizar un seguimiento del movimiento de archivos grandes.
Copy-Item -Path "C:\Users\Usuario\reporte.csv" -Destination "\\ServidorRemoto\Compartido\reporte.csv"
Copia reporte.csv
a un recurso compartido en un servidor remoto (\\ServidorRemoto\Compartido
), siempre y cuando se tengan permisos de acceso en el equipo de destino.
-Recurse
con Copy-Item
El parámetro -Recurse
es indispensable cuando se copian carpetas que contienen subcarpetas y archivos. Sin -Recurse
, Copy-Item
solo copiará la carpeta vacía sin su contenido.
-Force
Usar -Force
es útil cuando se copian o mueven archivos de solo lectura, archivos protegidos o cuando el archivo ya existe en la ubicación de destino. Se debe usar con precaución para evitar sobrescribir archivos importantes accidentalmente.
Cuando se copian o mueven archivos grandes, se recomienda usar el parámetro -Verbose
para ver el progreso, o dividir la operación en partes si se trabaja en sistemas con limitaciones de recursos.
Remove-Item
: Elimina archivos y carpetas.
Remove-Item -Path "C:\Carpeta\archivo.txt"
Test-Path
: Verifica si un archivo o carpeta existe en una ruta especificada.
Test-Path -Path "C:\Carpeta\archivo.txt"
New-Item
: Crea nuevos archivos o carpetas.
New-Item -Path "C:\CarpetaNueva" -ItemType Directory
Jorge García
Fullstack developer