Tutorial de la copia del elemento de mando de Powershell con ejemplos

Powershell proporciona un cmdlet de Copy-Item para copiar un artículo de un lugar a otro. Este elemento puede ser un archivo, una carpeta o un directorio. Copy-Item cmdlet proporciona diferentes características y opciones como sobreescribir, filtrar, excluir, verboso, progreso, etc. En este tutorial, aprenderemos estas características mediante ejemplos.

Copiar archivo a un directorio específico

Empezaremos con un simple ejemplo donde copiaremos un archivo dado al directorio especificado. Usaremos sólo proporcionar los nombres de los archivos de origen y destino con sus rutas.

PS> Copy-Item .config.sys test.sys

También podemos usar la opción -Destino para especificar el destino como se indica a continuación.

PS> Copy-Item .config.sys -Destination test.sys

Copy File To Specified Directory

Copiar el directorio al directorio especificado de forma recursiva

También podemos copiar el directorio y su contenido al directorio especificado o de destino usando la opción -Recuperar. La opción Recurse copiará todos los subficheros y carpetas del directorio de origen dado al directorio de destino.

PS> Copy-Item .PerfLogs PerfBack -Recurse

Copiar archivo al servidor remoto

Copy-Item es un comando muy útil en el que podemos usar copiar archivos y carpetas locales a los servidores remotos que soportan PS Remoting. En este ejemplo, especificaremos el nombre del servidor remoto o del ordenador con la opción -ComputerName. Podemos usar el nombre del ordenador o la dirección IP para esto. En este ejemplo, copiaremos al servidor remoto con la dirección IP 192.168.1.10

PS> Copy-Item .PerfLogs PerfBack -ComputerName 192.168.1.10

Copiar el directorio al servidor remoto

También podemos copiar carpetas y directorios locales al servidor o sistema remoto. También usaremos las opciones de -ComputerName como en el ejemplo anterior. También proveeremos la opción -Recurso para copiar subcarpetas y directorios.

PS> Copy-Item .PerfLogs PerfBack -Recurse -ComputerName 192.168.1.10

Copiar archivo del servidor remoto al servidor local

También podemos copiar los archivos remotos del servidor remoto al sistema local. Crearemos una sesión con el sistema remoto con el cmdlet New-PSSession y usaremos esta sesión con la opción -ToSession. En este ejemplo, copiaremos desde un servidor llamado DC1.

$Sessions=New-PSSession -ComputerName "DC1" -Credential "Poftutismail"PS> Copy-Item "C:test.txt" "D:test.txt" -ToSession $Sessions

Copiar el directorio del servidor remoto al local

También podemos copiar directorios de servidores remotos recursivamente al sistema local. Usaremos un comando muy similar al del ejemplo anterior. Sólo proporcionaremos la opción -Recurrir.

$Sessions=New-PSSession -ComputerName "DC1" -Credential "Poftutismail"PS> Copy-Item "C:PerfLogs" "D:PerfLogs" -Recurse -ToSession $Sessions

Sobrescribir a los archivos

Si hay el mismo archivo o carpeta en el destino no se copiará. Si queremos copiar incluso si existe un archivo o carpeta de destino tenemos que forzarlo con la opción de sobreescribir. Usaremos la opción -Forzar para sobrescribir.

PS> Copy-Item .config.sys test.sys -Force

Filtrar los archivos según el nombre

Mientras copiamos archivos y carpetas podemos filtrarlos. Si no queremos copiar el nombre de archivo especificado.

Filtrar los archivos según la extensión

Podemos filtrar los archivos copiados según sus extensiones. También usaremos las opciones -Excluir o -Incluir y proporcionaremos la extensión como .txt , .sql etc. En este ejemplo, filtraremos y sólo copiaremos archivos txt.

PS> Copy-Item .config.sys test.sys -Incluye "*.txt"

Excluir archivos dados

También podemos excluir los archivos especificados con la opción -Excluir. Proporcionaremos alguna parte del nombre del archivo. En este ejemplo excluiremos los nombres de archivo que empiecen por Sql.

PS> Copy-Item .config.sys test.sys -Excluir "Sql*"

Operación de Copia Verbosa

Durante la operación de copiado, es posible que necesitemos más información sobre la operación. Podemos imprimir en modo verborreico la operación de copia con la opción -Verborreico.

PS> Copy-Item .PerfLogs PerfBack -Recurse -Verbose

Verbose Copy Operation

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.