我使用Remove-Item -Recurse -Force
命令删除大文件夹,因为该方法似乎比使用 Windows 资源管理器快得多,但需要路径。在添加“在此处打开 Powershell”条目进入 Windows 上下文菜单能够删除当前文件夹将使删除大容量目录变得几乎无缝。
答案1
因此,保存当前位置,上移一级,删除已保存的位置。
详细:
$Path = Get-Location | Select -expand Path
Set-Location ..
Remove-Item -LiteralPath $Path -Recurse -Force
按键:
$p = (gl).Path
sl ..
ri -LiteralPath $p -r -Fo
如果您希望轻松使用单个命令,请创建一个具有别名的函数并将其添加到您的配置文件中:
@'
Function Remove-Location {
$Path = Get-Location | Select -expand Path
Set-Location ..
Remove-Item -LiteralPath $Path -Recurse -Force
Exit
}
Set-Alias rl Remove-Location
'@ | Add-Content $PROFILE -Append
然后你就可以打开电源外壳到任何文件夹,输入rl
,该文件夹将被删除。
答案2
如果您想在控制台中轻松处理此问题,以下命令将当前目录设置为变量,然后更改为父目录并删除上一个目录:
$CurrentDir = Get-Location; cd ..; Remove-Item $CurrentDir -Recurse -Force
如果您更有冒险精神,可以向上下文菜单添加一个条目,这样您就不需要与 shell 进行交互了:
只有当您有信心使用注册表编辑器时才可以继续此操作,否则犯错可能会造成不可逆转的后果
RegEdit.exe
从运行框运行。
导航到HKEY_CLASSES_ROOT\Directory\shell\
注册表编辑器
在 shell 文件夹上单击“右键”,然后单击“新建”->“项”
输入上下文菜单扩展的新键的名称,在我的情况下我使用了PSMenu
。(为了简单起见,我将使用相同的名称)。
在新的注册表项中,您将在右侧看到一个名为的值(Default)
,双击该值并修改“值数据”为您希望它出现在上下文菜单中的内容(在我的情况下,我已经使用了该内容),Delete folder using PowerShell
然后单击“确定”。
接下来,要使命令仅在 Shift + 右键单击时可见,您需要创建一个新值。在新键内,右键单击右侧窗格,然后单击“新建”-“字符串值”,将此值命名为,不要Extended
填充“值数据”。
不要关闭注册表编辑器,而是跳转到桌面等,现在当您按下 Shift + 右键单击时,您应该会看到刚刚创建的新条目,尽管它目前还没有连接到命令。
要将命令添加到上下文条目,请返回注册表编辑器并导航到键“PSMenu”(或任何您命名的键)。右键单击左窗格中的键,然后单击“新建”->“键”并将其命名为command
,现在选择此键。同样,您应该在右窗格中只有一个名为的值(Default)
,双击它并将以下内容粘贴到Value Data
:
C:\\Windows\\system32\\WindowsPowerShell\\v1.0\\powershell.exe -NoExit -Command Remove-Item -LiteralPath '%L' -Recurse -Force; Exit
单击“确定”,然后退出注册表编辑器,您创建的上下文菜单项现在应该可以工作,并删除您按 Shift + 右键单击并选择该条目的文件夹。