删除项-递归-强制无法删除符号链接。

6
似乎 Remove-Item -Recurse -Force 无法处理删除符号链接,那么如何递归地删除一个目录中的所有内容,并且同时还有很多符号链接呢?
示例代码:
PS C:\Users\Administrator\Desktop\test> mkdir foo
    Directory: C:\Users\Administrator\Desktop\test
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        7/30/2020  11:58 AM                foo

PS C:\Users\Administrator\Desktop\test> mkdir bar
    Directory: C:\Users\Administrator\Desktop\test
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----        7/30/2020  11:58 AM                bar

PS C:\Users\Administrator\Desktop\test> New-Item -ItemType SymbolicLink -Path foo -Name bar -Value C:\Users\Administrator\Desktop\test\bar
    Directory: C:\Users\Administrator\Desktop\test\foo
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d----l        7/30/2020  11:59 AM                bar

PS C:\Users\Administrator\Desktop\test> Remove-Item -Recurse -Force foo
Remove-Item : There is a mismatch between the tag specified in the request and the tag present in the reparse point
At line:1 char:1
+ Remove-Item -Recurse -Force foo
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Remove-Item], Win32Exception
    + FullyQualifiedErrorId : System.ComponentModel.Win32Exception,Microsoft.PowerShell.Commands.RemoveItemCommand
3个回答

6

Remove-Item -Recurse -Force的实际CMD等效命令是:

cmd /c rmdir /s /q foo

由于它还将删除子目录中的符号链接,因此这对我来说似乎已经足够好了。


2

如果你在 Get-ChildItem 后面加上 -Recurse,或许可以。 - Nico Nekoru

2

总有cmd。由于链接的存在,Wmi和powershell现在甚至无法删除配置文件。

cmd /c del bar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接