Answers:
Remove-Item -LiteralPath "foldertodelete" -Force -Recurse
-ErrorAction Ignore
,尽管这也会隐藏其他错误。
Remove-Item './folder/*'
。如果您只想清除所有文件夹中的文件,则可以列出所有叶子并将其通过管道传递到Remove-Item cmdletGet-ChildItem -Recurse -File | Remove-Item
从PowerShell删除强制答案:帮助Remove-Item说:
此cmdlet中的Recurse参数无法正常工作
解决方法是
Get-ChildItem -Path $Destination -Recurse | Remove-Item -force -recurse
然后删除文件夹本身
Remove-Item $Destination -Force
Remove-Item -Recurse -Force $dir
,它可以正常工作。
Get-Help Remove-Item
后获得的Windows 10扩展文档上Update-Help
...
2018更新
在当前版本的PowerShell(在Windows 10 1809上使用v5.1进行测试)中,可以使用更简单的Unix语法rm -R .\DirName
来静默删除目录.\DirName
及其可能包含的所有子目录和文件。实际上,许多常见的Unix命令在PowerShell中的工作方式与Linux命令行中的工作方式相同。
rm -R .\DirName\*
清理文件夹而不删除文件夹本身
要删除没有文件夹的内容,可以使用以下命令:
Remove-Item "foldertodelete\*" -Force -Recurse
rm -Force -Recurse -Confirm:$false $directory2Delete
在PowerShell ISE中不起作用,但通过常规PowerShell CLI起作用。
我希望这有帮助。它把我赶快运了。
PowerShell CLI
而不是在中进行开发时,此文件夹已被删除PowerShell ISE
。
以下是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
}
}
由于目录位于C:\ users中,因此我必须以管理员身份运行Powershell,
del ./[your Folder name] -Force -Recurse
这个命令对我有用。
del
是的别名Remove-Item
。
$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
}
如果您将文件夹作为对象,假设您使用下一个命令在同一脚本中创建了该文件夹:
$folder = New-Item -ItemType Directory -Force -Path "c:\tmp" -Name "myFolder"
然后您可以在同一脚本中像这样删除它
$folder.Delete($true)
$ true-递归删除的状态
$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
}