Как спокойно удалить каталог с содержимым в PowerShell


Answers

Из PowerShell удалите ответ силы : help Remove-Item говорит:

Параметр Recurse в этом командлете не работает должным образом

Команда для обхода

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

А затем удалите папку

Remove-Item $Destination -Force 
Question

Используя PowerShell, можно ли удалить какой-либо каталог, содержащий файлы, не запрашивая подтверждение действия?




$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
}



Ниже приведена копировальная версия ответа Майкла Фрейдзима

function Delete-FolderAndContents {
    # http://.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
    }
}



Чтобы удалить контент без папки, вы можете использовать следующее:

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