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:\>
Błąd związany jest z faktem, że rm-force próbuje usunąć elementy w każdym miejscu, w którym wskazuje link. Jak mogę usunąć tę rzecz za pomocą wiersza polecenia? Gdzie mogę zgłaszać błędy PowerShell / Shell? Wygląda na to, że PowerShell nie działa na MS Connect.
powershell
Ian Kelling
źródło
źródło
mklink
jeszcze nie ma, więc ma sens, że nie wie, jak radzić sobie z uszkodzonymi. Nazwałbym to „żądaniem funkcji”, a nie „błędem”. Wyobrażam sobie, że jest już w planie. Oto link do opinii: connect.microsoft.com/PowerShellUżyj polecenia mountvol / d
Wymień GUID:
PS C:> Mountvol
następnie
PS C:> mountvol \? \ Volume {2eca078d-5cbc-43d3-aff8-7e8511f60d0e} \ / d
zastępując odpowiedni GUID w powyższym
źródło
W tym celu używam .net z PowerShell
Gdzie $ Path jest równe ścieżce twojego dowiązania symbolicznego. rmdir nie zapewnia spójnego wyniku i prawie zawsze zwraca błąd podczas uruchamiania z PowerShell, niezależnie od tego, czy się powiódł, czy nie.
źródło