Copiar archivos en PowerShell

Copiar archivos en PowerShell
PowerShell es una herramienta para ejecutar diferentes tareas en Windows automáticamente; Además, su soporte basado en Linux también está disponible para múltiples distribuciones, como Ubuntu 16.04, ubuntu17.04, Centos 7, Arch Linux, etc. Utiliza una interfaz de línea de comandos para ejecutar cmdlet y realizar varias operaciones, como crear archivos y copiar archivos y carpetas. En esta guía, serviremos las operaciones de copia de PowerShell.

El manejo de archivos es la operación esencial para realizar en los dispositivos de computación. Algunos archivos necesitan una copia para garantizar su presencia en PC, incluso si el archivo se elimina de una ubicación. En PowerShell, el cmdlet Copy-item le permite copiar sus archivos o carpetas de un lugar a otro mientras trabaja en un entorno de PowerShell. Usaremos PowerShell para guiarlo para demostrar los elementos de copia.

Al principio, abra su terminal PowerShell. Para hacerlo, haga clic en Búsqueda y escriba "Potencia Shell"En el cuadro de búsqueda.

Método 1: Cómo copiar archivos usando PowerShell

El primer método que demostraremos copiará un solo archivo al directorio de destino. Como estamos utilizando el cmdlet de Copy-item, el archivo original se mantendrá seguro. Ejecutar el comando a continuación para copiar un archivo al directorio; copia el "C: \ Survey \ output.TXT" Archivo a la carpeta de destino "C: \ output".

> Copy -item -path “C: \ Survey \ output.txt "-destination" c: \ output "

Para verificar que el archivo se haya copiado o no, ejecute el siguiente comando para obtener los detalles de los elementos del árbol dentro del "producción" directorio.

> Get -ChildItem -Path "C: \ output"

En este método, hemos demostrado copiar archivos usando PowerShell; Además, el próximo método se mostrará para copiar el contenido de los directorios.

Método 2: Cómo copiar todo el directorio a otro directorio

Antes de profundizar en este método, primero, verificaremos cuántos archivos y directorios existen en nuestra carpeta de origen. Para hacer eso, ejecute el siguiente comando:

> Get -ChildItem -Path "C: \ Survey \ Project"

Aquí, puede observar que existe un directorio en el "proyecto" carpeta:

En nuestro caso, el comando copiará archivos del "proyecto" directorio al destino "C: \ output".

> Copy -item "C: \ Survey \ Project \*" -Destination "C: \ output"

Para verificar que los archivos se copian o no, ejecute el siguiente comando. Al principio, verificará archivos de la carpeta principal (que es "producción"); Después de eso, debe verificar la subcarpeta (que es "Archivos antiguos"). El "Archivos antiguos" es un directorio dentro "C: \ Survey \ Project" que contiene tres .archivos docx.

> Get -ChildItem -Path "C: \ output"

El comando que se indica a continuación verificará el contenido interno "Archivos antiguos":

> Get -ChildItem -Path "C: \ output \ Oldfiles"

Como puede verificar desde la salida, el comando se ha ejecutado correctamente pero no tiene resultado, por lo que significa que los archivos dentro "Archivos antiguos" no están copiados. El contenido de los directorios infantiles no se copiará hasta que use el "-Curse" bandera. Esta bandera copiará todo el contenido de los directorios de los padres y los niños.

Debes agregar la bandera "-Curse" para copiar los archivos dentro de la subcarpeta; El comando que se indica a continuación se utilizará en esta opción.

> Copy -item "C: \ Survey \ Project \*" -Destination "C: \ output" -Recurse

Además, para verificar que el contenido de la subcarpeta se copie o no, ejecute los siguientes comandos para verificar. El siguiente comando le mostrará los archivos y directorios dentro "producción".

> Get -ChildItem -Path "C: \ output"

El siguiente comando verificará el contenido del subdirectorio "Archivos antiguos": Sin embargo, puede verificar que la salida sea similar a la de "Opción 1", Pero el contenido de la subcarpeta "Archivos antiguos" se copia.

> Get -ChildItem -Path "C: \ output \ Oldfiles"

Método 3: Cómo copiar múltiples carpetas usando PowerShell

Puede copiar más de un directorio de origen a otro directorio. Entonces, debe ejecutar el siguiente comando para copiar varias carpetas. El siguiente comando copiará todo el contenido de tres directorios ("Encuesta", "Encuesta1", y "Encuesta2") a la carpeta de destino.

> Copy -item C: \ Survey \*, C: \ Survey1 \*, C: \ Survey2 \*-Destination C: \ NewOutput -Recurse

Para verificar que el contenido haya sido copiado o no; Ejecute el siguiente comando en "Potencia Shell":

> Get -ChildItem -Path "C: \ NewOutput"

La salida del comando muestra que todos los archivos y directorios dentro de tres directorios se copian al directorio de destino "NewOutput".

Método 4: Copiar archivos selectivos de un directorio

Este método lo guiará a copiar tipos de archivos específicos de un directorio a otro directorio. El "-Filtrar" La bandera se usa para copiar solo tipos particulares de archivos; Tienes que poner la extensión del tipo de filete (.dogx, .pdf) después del "-Filtrar" bandera. El comando a continuación copiará todos los archivos de documento de MS desde la carpeta de origen "Encuesta" a la carpeta de destino "Salida1".

> Copy -Item -Path C: \ Survey \* -Destination C: \ output1 -filter '*.docx '

Además, para verificar que los archivos se copian o no; ejecutar el siguiente comando en el "Potencia Shell" Terminal:

Para verificar el contenido de "Salida1"; Ejecutar el siguiente comando:

> Get -childItem -path "c: \ output1"

Método 5: Copiar distintos de archivos excluidos

Puede excluir tipos específicos de archivos mientras copia. Por ejemplo, desea todos los archivos que no sean ".PDF ", Entonces tienes que usar el "-Excluir" bandera para hacer eso. El siguiente comando excluirá todo ".PDF " archivos de copia:

> Copy -item "C: \ Survey \*" -Destination "C: \ output2" -Recurse -exclude '*.pdf '

Para verificar la salida, ejecute el siguiente comando para asegurarse de que cualquier "*.El archivo PDF "no está copiado.

> Get -ChildItem -Path "C: \ Output2"

El resultado muestra que el ".PDF " El archivo se copia en la carpeta dirigida.

Conclusión:

PowerShell es un lenguaje de secuencias de comandos bien conocido y accesible en comparación con los tradicionales como VB scripts. Le permite realizar múltiples operaciones automáticamente. Por ejemplo, crear archivos, copiar archivos, etc.

Del mismo modo, se pueden realizar varias operaciones utilizando cmdlet de PowerShell. En esta guía, hemos demostrado múltiples métodos para copiar archivos y directorios de la carpeta de origen a la carpeta de destino. Además, PowerShell proporciona diferentes opciones de copia, como copiar archivos específicos, excluir pocos archivos de la copia.