una txt item directorio crear childitem change carpeta cambiar buscar archivo powershell directory

txt - Cómo eliminar silenciosamente un directorio con contenido en PowerShell



powershell change directory (8)

A continuación se muestra una implementación de copia de la respuesta de Michael Freidgeim.

function Delete-FolderAndContents { # http://stackoverflow.com/a/9012108 param( [Parameter(Mandatory=$true, Position=1)] [string] $folder_path ) process { $child_items = ([array] (Get-ChildItem -Path $folder_path -Recurse -Force)) if ($child_items) { $null = $child_items | Remove-Item -Force -Recurse } $null = Remove-Item $folder_path -Force } }

Al usar PowerShell, ¿es posible eliminar algún directorio que contenga archivos sin preguntar para confirmar la acción?


De PowerShell remove force response : la ayuda Remove-Item dice:

El parámetro Recurse en este cmdlet no funciona correctamente

El comando para solucionarlo es

Get-ChildItem -Path $Destination -Recurse | Remove-Item -force -recurse

Y luego borre la carpeta

Remove-Item $Destination -Force


Esto funcionó para mí:

Remove-Item $folderPath -Force -Recurse -ErrorAction SilentlyContinue

Por lo tanto, la carpeta se elimina con todos los archivos y no produce errores si la ruta de la carpeta no existe.


Para eliminar contenido sin una carpeta, puede usar lo siguiente:

Remove-Item "foldertodelete/*" -Force -Recurse


$LogPath = "E:/" # Your local of directories $Folders = Get-Childitem $LogPath -dir -r | Where-Object {$_.name -like " grav "} # Your keyword name directories

foreach ($ Folder in $ Folders) {$ Item = $ Folder.FullName Write-Output $ Item Remove-Item $ Item -Force -Recurse -ErrorAction SilentlyContinue}


rm -Force -Recurse -Confirm:$false $directory2Delete no funcionó en PowerShell ISE , pero funcionó a través de la CLI de PowerShell normal.

Espero que esto ayude. Me estaba conduciendo bannanas.


$LogPath = "E:/" # Your local of directories $Folders = Get-Childitem $LogPath -dir -r | Where-Object {$_.name -like "*temp*"} foreach ($Folder in $Folders) { $Item = $Folder.FullName Write-Output $Item Remove-Item $Item -Force -Recurse }


Remove-Item ./foldertodelete -Force -Recurse