powershell 如何删除损坏的符号链接

powershell 如何删除损坏的符号链接
PS C:\> cmd /c mklink /d testlink non-existent-dir
symbolic link created for testlink <<===>> non-existent-dir
PS C:\> rm .\testlink
Remove-Item : C:\testlink is a NTFS junction point. Use the Force parameter to delete or modify.
At line:1 char:3
+ rm <<<<  .\testlink
    + CategoryInfo          : WriteError: (C:\testlink:DirectoryInfo) [Remove-Item], IOException
    + FullyQualifiedErrorId : DirectoryNotEmpty,Microsoft.PowerShell.Commands.RemoveItemCommand

PS C:\> rm -force .\testlink
Remove-Item : Could not find a part of the path 'C:\testlink'.
At line:1 char:3
+ rm <<<<  -force .\testlink
    + CategoryInfo          : WriteError: (C:\testlink:String) [Remove-Item], DirectoryNotFoundException
    + FullyQualifiedErrorId : RemoveItemIOError,Microsoft.PowerShell.Commands.RemoveItemCommand

PS C:\>

该错误与 rm -force 尝试删除链接指向的任何内容有关。如何使用命令行删除此内容?我可以在哪里报告 powershell/shell 错误?似乎 powershell 不在 ms connect 上。

答案1

尝试:

cmd /c rmdir testlink

cmd不知道rm

答案2

使用 mountvol /d 命令

列出 GUID:

PS C:> 安装卷

然后

PS C:> mountvolume \?\Volume{2eca078d-5cbc-43d3-aff8-7e8511f60d0e}\ /d

替换上面的相关 GUID

答案3

我使用 powershell 中的 .net 来执行此操作

[System.IO.Directory]::Delete($Path,$true)

其中 $Path 等于符号链接的路径。rmdir 不提供一致的结果,并且从 powershell 运行时几乎总是会返回错误,无论它是否成功。

相关内容