PowerShell: usar Copiar elemento y excluir carpetas
A menudo, es posible que desee utilizar el cmdlet Copy-Item en PowerShell para copiar carpetas a un nuevo directorio pero excluir carpetas específicas de la copia.
Puede utilizar la siguiente sintaxis para hacerlo:
$source = "c:\users\bobbi\data3"
$destination = "c:\users\bobbi\data4"
New-Item -ItemType Directory -Force -Path $destination
Copy-Item $source\* $destination -Exclude @("*old*","baseball") -Recurse
Este ejemplo en particular copia todas las carpetas del directorio data3 al directorio data4, excluyendo cualquier carpeta que contenga "antiguo" en cualquier parte del nombre y excluyendo la carpeta denominada "béisbol".
El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.
Ejemplo: utilizar Copiar elemento y excluir carpetas en PowerShell
Supongamos que tenemos un directorio ubicado en la siguiente ruta:
C:\Users\bobbi\data3
Podemos escribir Dir para enumerar todos los archivos en este directorio:
Supongamos que queremos copiar todos los archivos del directorio data3 al directorio data4, excluyendo las carpetas que contengan "antiguo" en cualquier parte del nombre y excluyendo la carpeta denominada " béisbol".
Podemos utilizar la siguiente sintaxis para hacerlo:
$source = "c:\users\bobbi\data3"
$destination = "c:\users\bobbi\data4"
New-Item -ItemType Directory -Force -Path $destination
Copy-Item $source\* $destination -Exclude @("*old*","baseball") -RecurseLa siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:
Podemos ver que podemos copiar con éxito todas las carpetas del directorio data3 al directorio data4, excluyendo las siguientes carpetas:
- Todas las carpetas con "antiguo" en el nombre de la carpeta
- La carpeta llamada “béisbol”
Nota n.º 1: utilizamos caracteres comodín ( * ) para indicar que cualquier carpeta con "antiguo" en cualquier parte del nombre debe excluirse de la copia.
Nota n.º 2: En este ejemplo, especificamos dos patrones en la matriz -Exclude, pero puede especificar tantos patrones como desee para excluir aún más carpetas de la copia. .

