使用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
}

其他回答

由于我的目录在C:\users中,我必须以管理员身份运行powershell,

del ./[your Folder name] -Force -Recurse

这个命令对我很管用。

$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 C:\folder_name -Force -Recurse

Powershell使用相对文件夹。Remove-Item有几个与unix一致的有用别名。一些例子:

rm -R -Force ./directory
del -R -Force ./directory/*

下面是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
    }
}