在PowerShell中,我认为我观察到PowerShell尝试在其内容被删除之前删除文件夹。 我正在使用的命令是
过去,使用
因此,基于上述原因,我尝试使用以下摘录:
我现在得到的提示信息如下:
Remove-Item
。过去,使用
-recurse
会间歇性地出错并抱怨目录不为空。 当我看到那个错误时,我发现目标目录为空。 我最好的猜测是它在文件仍在被删除的过程中继续进行。 现在我看到了更多的证据。因此,基于上述原因,我尝试使用以下摘录:
$toDelete = Get-ChildItem $path -Recurse
[Array]::Reverse($toDelete)
$toDelete | Remove-Item
Remove-Item $path
我现在得到的提示信息如下:
Confirm
The item at [path to directory] has children and the Recurse parameter was not specified. If you continue, all
children will be removed with the item. Are you sure you want to continue?
[Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is "Y"):
当我去检查时,目录再次为空。我最好的猜测是$toDelete | Remove-Item
在文件实际被删除之前返回,我看到了这个提示Remove-Item $path
。
这是一个已知的问题吗?我的猜测是否错误?我该如何解决它?
我尝试使用cmd /C "rd /S [目录路径]"
,但这会有问题,因为我发现当无法删除某些正在使用中的子项时,退出代码为0
。(这可能是我的用法中的潜在情况,而我需要它成为一个错误情况。)