Búsqueda de sitios web

Cómo eliminar el contenido de una carpeta en PowerShell


Es fácil eliminar el contenido de una carpeta usando PowerShell. ¿Tiene algún requisito similar? En esta publicación de blog, exploraremos diferentes métodos para eliminar el contenido de una carpeta usando PowerShell con scripts completos.

Para eliminar el contenido de una carpeta en PowerShell, use el cmdlet Remove-Item con la ruta a la carpeta y un carácter comodín. Por ejemplo, Remove-Item -Path “C:\Your\Target\Directory*” -Recurse eliminará todos los archivos y subdirectorios de la carpeta especificada. Utilice el parámetro -Force para suprimir las solicitudes y -Confirm:$false para evitar solicitudes de confirmación.

Método 1: usar Eliminar elemento

En PowerShell, puede usar el cmdlet Remove-Item para eliminar archivos y carpetas de un directorio. Para eliminar todos los archivos dentro de una carpeta, puede utilizar el siguiente script de PowerShell:

Get-ChildItem -Path "C:\MyFolder\Folder-1\" -File | Remove-Item

Este script enumera todos los archivos en el directorio especificado y los canaliza a Remove-Item, que los elimina. Tenga en cuenta que este comando no elimina subdirectorios ni su contenido.

Puede ver el resultado en la captura de pantalla a continuación después de ejecutar el script usando el código VS.

Si desea eliminar todos los archivos y subdirectorios usando PowerShell, puede agregar el parámetro -Recurse:

Get-ChildItem -Path "C:\MyFolder\Folder-1\" -Recurse | Remove-Item

Sin embargo, tenga cuidado con el parámetro -Recurse, ya que eliminará todo lo que esté dentro del directorio, incluidos todos los archivos y carpetas anidados.

Método 2: usar Remove-Item con -Include y -Exclude

Si desea eliminar tipos específicos de archivos del directorio, consulte el siguiente script de PowerShell. Puede utilizar los parámetros -Include y -Exclude con el cmdlet de PowerShell Remove-Item para eliminar archivos específicos.

Por ejemplo, para eliminar todos los archivos .txt en un directorio, ejecute el siguiente script de PowerShell:

Get-ChildItem -Path "C:\MyFolder\" -Include *.txt | Remove-Item

Para eliminar todo excepto los archivos .txt del directorio usando PowerShell, escriba el siguiente script.

Get-ChildItem -Path "C:\MyFolder\" -Exclude *.txt | Remove-Item

Método 3: usar Quitar elemento directamente

Puede usar Remove-Item directamente con el parámetro -Path y un comodín para eliminar todo el contenido dentro de una carpeta usando PowerShell.

Remove-Item -Path "C:\MyFolder\*" -Recurse

Este comando elimina todos los archivos y subdirectorios en la ruta especificada. El carácter comodín * representa todos los elementos del directorio.

Método 4: borrar el contenido del archivo sin eliminar archivos

Si desea borrar el contenido de los archivos sin eliminarlos, puede utilizar el cmdlet Clear-Content. Esto es útil para archivos de registro u otros escenarios en los que necesita conservar el archivo pero no los datos que contiene.

Get-ChildItem -Path "C:\MyFolder\" -File | Clear-Content

Este script de PowerShell recorrerá cada archivo del directorio y borrará su contenido, dejando archivos vacíos.

Método 5: eliminar archivos anteriores a una fecha determinada

Si desea eliminar archivos que tienen más de una fecha determinada utilizando PowerShell. Esto se puede lograr agregando un filtro de fecha al comando Get-ChildItem:

$limit = (Get-Date).AddDays(-30)
Get-ChildItem -Path "C:\MyFolder\" -File | Where-Object { $_.LastWriteTime -lt $limit } | Remove-Item

Este script de PowerShell elimina archivos en el directorio especificado en los que se escribieron por última vez hace más de 30 días.

Método 6: eliminar carpetas vacías

Después de eliminar archivos, es posible que le queden subdirectorios vacíos. Para eliminarlos también, puede utilizar el siguiente script de PowerShell:

Get-ChildItem -Path "C:\MyFolder\" -Directory | Where-Object { $_.GetFileSystemInfos().Count -eq 0 } | Remove-Item

Esto buscará y eliminará todos los subdirectorios vacíos dentro del directorio de destino.

Manejo de errores y confirmaciones

Al eliminar archivos, es posible que encuentre errores o solicitudes de confirmación. Para suprimirlos, puede utilizar los parámetros -Force y -Confirm:$false:

Remove-Item -Path "C:\MyFolder\*" -Recurse -Force -Confirm:$false

Este comando eliminará por la fuerza el contenido sin solicitar confirmación.

Conclusión

Espero que este tutorial te ayude a eliminar el contenido de una carpeta usando PowerShell. Cubrimos diferentes escenarios como:

  • Eliminar contenido de una carpeta usando Remove-Item
  • Eliminar contenidos de un directorio usando Remove-Item con -Include y -Exclude
  • Borrar el contenido del archivo sin eliminar archivos usando PowerShell
  • Eliminar archivos anteriores a una fecha determinada de una carpeta usando PowerShell
  • Eliminar carpetas vacías de un directorio usando PowerShell

Artículos relacionados