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í.

