Durchsuchen Sie einen UNC-Pfad mit Windows CMD, ohne ihn einem Netzlaufwerk zuzuordnen

226733
Andreas Grech
C:\> cd \\somewhere '\\somewhere' CMD does not support UNC paths as current directories. 

Normalerweise mache ich das, um dieses Problem zu umgehen, dieses Verzeichnis einem Netzlaufwerk zuzuordnen und dann über die Eingabeaufforderung problemlos darauf zuzugreifen.

Aber gibt es einen einfacheren Weg, um dies zu umgehen?

131
Welche Fenster benutzen Sie? Wenn es sich um Windows 7 handelt, haben Sie die Powershell auf Ihrem System vorinstalliert. Powershell unterstützt (mit wenigen Ausnahmen) unc-pfade und cmd-Befehle. wullxz vor 13 Jahren 12
Sie können immer zum unc-Pfad durchlaufen. Not Kyle stop stalking me vor 13 Jahren 0
@wullxz: Prost, ich wusste nicht, dass Sie UNC-Pfade mit PowerShell durchsuchen können. @kyle: Das ist eigentlich eine gültige Antwort auf meine Frage :) Aber ich möchte von einer Kommandozeilenumgebung darauf zugreifen. Wird meine Frage ändern, um dies klarer zu machen. Andreas Grech vor 13 Jahren 1
Wenn Ihr Problem darin besteht, dass Sie nur über die Befehlszeile arbeiten müssen, können Sie das Netzlaufwerk mit dem Befehl 'net' zuordnen: net use x: \\ Computername \ Freigabename Al Crowley vor 13 Jahren 0
@Aleister Crowley: Ja ich weiß, aber ich frage, ob es einen einfacheren Weg gibt, bei dem kein Netzlaufwerk zugeordnet werden muss. Andreas Grech vor 13 Jahren 1
@Andreas Grech: Ich dachte, das wäre wahrscheinlich der Fall, deshalb habe ich es eher als Kommentar und nicht als Antwort formuliert. Al Crowley vor 13 Jahren 0
Verwenden Sie Powershell und es funktioniert Kolob Canyon vor 7 Jahren 0
Verwandte Themen: [Wie gehen Sie vor: "CMD unterstützt keine UNC-Pfade als aktuelle Verzeichnisse"?] (Https://serverfault.com/q/50085/4276) von Server Fault Cristian Ciupitu vor 6 Jahren 0
@wullxz Das verdient eine Antwort. Schau dir die Antworten unten an. "ContextConsole Shell Extension" und "Git Bash" erhalten mehrere Upvotes. Ich denke, PowerShell ist besser als Lösungen von Drittanbietern. Franklin Yu vor 5 Jahren 0
@FranklinYu fügte die Antwort hinzu wullxz vor 5 Jahren 0

6 Antworten auf die Frage

182
evanmcdonnal

Wenn Sie pushdund popdanstelle von verwenden cd, wird der UNC-Fehler nicht angezeigt.

pushd <UNC path>wird ein temporäres virtuelles Laufwerk erstellen und hineinfahren.
popdlöscht das temporäre Laufwerk und bringt Sie zu dem Pfad zurück, den Sie bei der Eingabe angegeben haben pushd.

Beispiel:

C:\a\local\path> pushd \\network_host\a\network\path  U:\a\network\path> REM a temporary U: virtual drive has been created  U:\a\network\path> popd  C:\a\local\path> REM the U: drive has been deleted  C:\a\local\path> 
Mit "pushd" wird eine Laufwerkszuordnung zur Netzwerkfreigabe erstellt und anschließend in einen Pfad relativ zu der erstellten Freigabe geändert. `popd` trennt die Freigabe. Dov vor 11 Jahren 10
Unter Windows 10 hat dies nicht funktioniert. "C: \ WINDOWS \ system32> pushd \\ some \ network \ path" "" CMD unterstützt keine UNC-Pfade als aktuelle Verzeichnisse. " kayleeFrye_onDeck vor 7 Jahren 2
In Windows 10 hat es einfach funktioniert, wie seltsam. Ich habe `pushd \\ Servername \ home \ dir \ dir2` gemacht. Diziet vor 6 Jahren 1
Einheimisch und elegant, nur ein Wunder. Funktioniert für Windows 10. WesternGun vor 6 Jahren 3
Gibt es einen Trick, damit es funktioniert, wenn die Freigabeinformationen nicht mit den Benutzeranmeldeinformationen des Computers übereinstimmen? Perkins vor 6 Jahren 0
funktioniert perfekt. und ich muss überprüfen, wie man diese Art von Verzeichnis in Perl-Skript ablegt. Shicheng Guo vor 5 Jahren 0
@Perkins: Ich konnte runas.exe verwenden, um PowerShell als den anderen Benutzer auszuführen Jacob Krall vor 5 Jahren 0
@JacobKrall Das würde funktionieren, wenn ein anderer Benutzer die richtigen Anmeldeinformationen hat. Wenn es sich um eine völlig andere Gruppe von Anmeldeinformationen handelt, verwenden Sie cmdkey. Perkins vor 5 Jahren 0
12
therube

Kliu's "ContextConsole Shell Extension" (auch bekannt als Eingabeaufforderung für offene Befehle) sagt, "kann sogar Verzeichnisse aus Netzwerkpfaden (UNC-Pfade)" (aus einem Explorer-Fenster) öffnen.

http://code.kliu.org/cmdopen/

enter image description here

Dieses Programm ist sehr gut! afrazier vor 13 Jahren 3
Ich bin schockiert über den Screenshot, er existiert! LiuYan 刘研 vor 11 Jahren 1
Denken Sie daran, das Laufwerk // und nicht eine zugeordnete Version zu öffnen. Es wird bei zugeordnetem fehlschlagen. twobob vor 7 Jahren 0
12
Dan

Ich benutze dazu Git Bash, da ich es bereits installiert habe.

enter image description here

Als zusätzlichen Bonus:
Es hat auch bessere Farben, lassen Sie mich ist verwenden ls, rmetc. und verwendet das richtige slash für Pfade. : P

Sie können auch umgekehrte Schrägstriche verwenden, wenn Sie sie mit umgekehrten Schrägstrichen maskieren: `cd \\\\ server \\ share \\ Unterverzeichnis` user121391 vor 7 Jahren 0
Wenn Sie versuchen, die Tabulatorvervollständigung mit Computernamen zu verwenden, blockiert die Shell möglicherweise einige Zeit, bis die Namen aufgelöst sind. user121391 vor 7 Jahren 0
es funktioniert nicht für mich KansaiRobot vor 5 Jahren 0
7
Peter Evans

Ich habe auch das UNC-Problem C:\> cd \\somewherein einem C-Programm getroffen. Fand diese Seite und lernte etwas über den netBefehl: net use x: \\computer name\share nameund setzte ihn erfolgreich ein! Danke an alle, die ihre Erfahrungen posten, damit andere von ihnen lernen können. :-)

Ja, aber bei Verwendung von "net use" wird dieser Standort einem Netzlaufwerk zugeordnet, und das wollte ich nicht. Andreas Grech vor 11 Jahren 1
@AndreasGrech, das tut eigentlich auch "pushd". Pacerier vor 9 Jahren 1
Im Gegensatz zu `pushd 'funktioniert das in` Far` + `ConEmu` gut. Dzmitry Lahoda vor 7 Jahren 0
4
BigBlackDog

Wenn Sie XP verwenden, können Sie diese Website http://support.microsoft.com/kb/156276 besuchen

Es gibt einen Registrierungswert, den Sie hinzufügen, abmelden und erneut anmelden müssen. Jetzt unterstützt cmd.exe UNC-Pfade. Es scheint mir, dass Sie den Pfad immer noch nicht aufrufen können, aber Sie können ihn in anderen Befehlen wie dir, copy ... verwenden.

Eine Alternative könnte der Befehl pushd sein, mit dem Sie zur Freigabe wechseln können (ich denke, indem Sie ihr einen temporären Laufwerksbuchstaben zuweisen) http://support.microsoft.com/kb/317379

Die Seiten, die Sie verlinkt haben, wirken wie leere Seiten. Pacerier vor 9 Jahren 0
Die Links funktionieren hier. Hast du es mit https probiert? BigBlackDog vor 9 Jahren 0
-3
Salman

Sie können die HttpFileServer-Anwendung verwenden, über Windows, sehr leicht und sehr einfach zu konfigurieren. Sie ermöglicht die Freigabe eines Netzwerkordners UNC (\ server \ share) mit dem HTTP-Protokoll, und der HTTP-Link kann in jeder HTML-Seite verwendet werden

http://www.rejetto.com/hfs/

es ist wunderbar

Für einen Befehlszeilenbenutzer nicht sehr nützlich. Isaac Rabinovitch vor 11 Jahren 8
Ich stimme zu, dass dies eine erstaunliche Software ist, aber wie kann man damit umgehen, dass die CMD-Fenster-App keinen UNC-Handler verwendet? Jay Elston vor 6 Jahren 0