Tente:
cmd /c rmdir testlink
cmd
não sabe sobre rm
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:\>
O erro está relacionado ao fato de que rm -force tenta remover itens dentro de onde quer que o link esteja apontando. Como posso remover essa coisa usando a linha de comando? Onde posso reportar bugs do shell / shell? Parece que o powershell não está em ms connect.
Use o comando mountvol / d
Listar o GUID:
PS C: > Mountvol
então
PS C: > mountvol \? \ Volume {2eca078d-5cbc-43d3-aff8-7e8511f60d0e} \ / d
substituindo o GUID relevante acima
Eu uso o .net do powershell para fazer isso
[System.IO.Directory]::Delete($Path,$true)
Onde $ Path é igual ao caminho do seu symlink. O rmdir não fornece resultados consistentes e quase sempre retornará um erro quando executado a partir do powershell, independentemente de ter sido bem-sucedido ou não.
Tags powershell