使用PowerShell,是否可以删除包含文件的目录而不提示确认操作?


当前回答

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

如果你有你的文件夹作为一个对象,让我们说你在相同的脚本中使用下一个命令创建它:

$folder = New-Item -ItemType Directory -Force -Path "c:\tmp" -Name "myFolder"

然后你可以像这样在相同的脚本中删除它

$folder.Delete($true)

$true -递归删除的状态

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

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

这个命令对我很管用。

这招对我很管用:

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

因此,如果文件夹路径不存在,文件夹中的所有文件都将被删除,并且不会产生错误。