Copiar archivos con PowerShell

¿Cómo copiar un archivo a otra carpeta con el script de copia de Windows PowerShell? Hay varias opciones eficientes para copiar archivos de Windows desde el símbolo del sistema PS.

En la secuencia de comandos de PowerShell, utilice el comando Copy-Item en un indicador de Windows PowerShell. También es posible copiar desde la GUI, pero esta opción es muy manual.

De hecho, siempre es posible copiar archivos y carpetas utilizando la interfaz proporcionada por Windows. Pero es más eficiente hacer copias grandes y específicas.

¿Cómo copiar archivos a otra carpeta con PowerShell?

De hecho, el scripting de Windows Shell es mucho más eficiente que la copia manual. Por ejemplo, para copiar 500’000 archivos de texto con extensiones o nombres muy específicos. Y para asegurarse de que todos fueron copiados, sin ningún error.

O con una estricta comprobación y registro de errores. Manualmente, esta operación llevaría días. El comando Copy-Item de PowerShell es la mejor opción disponible.

Para abrir el símbolo del sistema de Windows PowerShell

Vamos a empezar el tutorial sobre hoy copiar un archivo con Windows PowerShell. Desde el menú de inicio de Windows 10, por ejemplo, escribe «Windows PowerShell» en el campo de búsqueda y haz clic en el icono.

Comando PS para copiar un archivo de una carpeta a otra existente manteniendo el mismo nombre y extensión:

Copy-Item -Path C:\folder\file.txt -Destination C:\newfolder\file.txt

Por cierto, con Power Shell, para modificar el nombre de la copia, basta con cambiar el nombre del archivo de destino:

Copy-Item -Path C:\folder\file.txt -Destination C:\folder\newfile.txt

Ejemplo de script powershell para copiar todos los archivos con filtro en el nombre

Es decir, con una extensión o un nombre específico antes del separador. Este script de ejemplo copia todos los archivos de texto, con extensión TXT, en la carpeta newfolder. Y permite sobrescribir los archivos si ya existen con la opción -Force.

Copy-Item -Path C:\folder\file*.txt -Destination C:\newfolder -Force
Copiar archivos con el comando Copy-Item de Windows Powershell.
Copiar archivos con el comando Copy-Item de Windows Powershell.

Existen otras opciones de Scripting para el comando Copy-Item, por ejemplo:

  • La primera: -Force para sobrescribir el archivo de destino.
  • O bien: -Recurse para copiar recursivamente desde el origen o el destino, dependiendo de dónde esté la palabra clave en el comando.
  • La opción -Filter para separar el filtro de la ubicación de origen de la copia.

Tenga en cuenta que esta lista de opciones no es exhaustiva.

Habilitar explícitamente el aviso de confirmación de copia con un script PS

Utilice la opción de confirmación de PowerShell: -Confirm

De hecho, utilice estas opciones para gestionar y controlar mejor las copias de archivos y evitar sobrescribir archivos importantes y potencialmente no guardados. Este último ejemplo de script PowerShell de copia indica al sistema que pida confirmación antes de sobrescribir los archivos.

Copy-Item -Path C:\folder\file.txt -Destination C:\folder\newfile.txt -Confirm

En conclusión, este primer artículo de la serie Scripting con Windows PowerShell muestra ejemplos de Scripting PS para copiar uno o más archivos en Windows.

Para ir un paso más allá, aquí se explica cómo copiar archivos y carpetas con un script de cmd.