Wie kann ich in PowerShell einen Symlink aufrufen?


1

Ich habe einen symbolischen Link wie folgt erstellt:

PS C:\dev\bin> cmd /c mklink "wd" c:\dev\code
symbolic link created for wd <<===>> c:\dev\code

OK, einfach. Also versuche ich es zu cd:

PS C:\dev\bin> cd wd
Set-Location : Cannot find path 'wd' because it does not exist.

PS C:\dev\bin> cd .\wd
Set-Location : Cannot find path '.\wd' because it does not exist.

PS C:\dev\bin> cd \wd
Set-Location : Cannot find path 'C:\wd' because it does not exist.

Unter Linux ist das so viel einfacher. Wie kann ich tatsächlich zu einem Symlink in PowerShell wechseln?

(Es scheint eine einfache Frage zu sein, aber die ersten drei Seiten der Google-Ergebnisse hatten keine Antwort.)

Antworten:


4

Der richtige Befehl zum Verknüpfen eines Verzeichnisses lautet

cmd /c mklink /D link target

Check out 'mklink /?' für andere Optionen.


1
Das hat es geschafft. Was um alles in der Welt habe ich geschaffen, als ich es ohne das / D getan habe? Man könnte meinen, das wäre fehlgeschlagen, da c: \ dev \ code keine Datei ist.
jcollum

Das cmd /c Teil ist überflüssig.
Bill_Stewart

3

Ich empfehle die PowerShell Community-Erweiterungen . Es fügt die Befehle hinzu New-Symlink, New-Junction, New-Hardlink, und Get-ReparsePoint. Es gibt auch ein paar Aliase für Dinge wie ln Sie können also einfach die Linux-Syntax verwenden.


Huh? cmd / c mklink ist der Befehl, um den Symlink zu erstellen. Oder haben Sie vermisst, dass dies in Powershell ist?
jcollum

cmd /c sollte das Arbeitsverzeichnis nicht ändern, es sei denn, Sie werden ausdrücklich dazu aufgefordert. Es ist hier erforderlich, weil mklink ist ein cmd eingebaut.
grawity

Sorry, das habe ich vermisst, ich habe meine Antwort überarbeitet. Das ist was ich benutze.
Scott Chamberlain

2
Nur um zu verdeutlichen, 'cmd' ist nicht Teil von Powershell, das ist die Reg-Windows-Shell, obwohl wir hoffentlich später eine robustere Symlink-Fähigkeit in Powershell haben, oder irgendeine andere Fähigkeit, b / c im Moment gibt es keine!
MDMoore313
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.