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