Búsqueda de sitios web

PowerShell: Cómo eliminar todos los archivos excepto los específicos


A menudo, es posible que desee utilizar PowerShell para eliminar todos los archivos de una carpeta, excepto algunos específicos.

Puede utilizar la siguiente sintaxis para hacerlo:

Get-ChildItem -Exclude @("*regions*", "*teams*") | Remove-Item -Force

Este ejemplo en particular elimina todos los archivos de la carpeta actual excepto los que contienen el patrón "regiones" o "equipos" en el nombre del archivo.

Esto es lo que hacen los distintos comandos:

  • Get-ChildItem recupera todos los archivos de la carpeta actual
  • -Exclude especifica patrones que no se incluirán al recuperar los archivos
  • Remove-Item elimina los archivos que se han recuperado
  • -Force especifica que los archivos ocultos también deben eliminarse

El siguiente ejemplo muestra cómo utilizar esta sintaxis en la práctica.

Ejemplo: eliminar todos los archivos excepto los específicos usando PowerShell

Primero, podemos usar el cmdlet Get-ChildItem para ver todos los archivos en nuestra carpeta actual:

Supongamos que queremos eliminar todos los archivos de esta carpeta excepto los que contienen el patrón "regiones" o "equipos" en los nombres de los archivos.

Podemos utilizar la siguiente sintaxis para hacerlo:

Get-ChildItem -Exclude @("*regions*", "*teams*") | Remove-Item -Force

La siguiente captura de pantalla muestra cómo utilizar esta sintaxis en la práctica:

Observe que cuando usamos el cmdlet Get-ChildItem nuevamente para ver los archivos en el directorio actual, podemos ver que todos los archivos se han eliminado excepto los dos archivos que contenían "regiones" o "equipos" en el nombre del archivo.

Nota: Puede encontrar la documentación completa para el cmdlet Remove-Item en PowerShell aquí.

Artículos relacionados