Przeglądaj ścieżkę UNC za pomocą Windows CMD bez mapowania jej na dysk sieciowy


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

To, co zwykle robię, aby to obejść, polega na zamapowaniu tego katalogu na dysk sieciowy, a następnie mogę łatwo uzyskać do niego dostęp z wiersza polecenia.

Ale czy jest łatwiejszy sposób na obejście tego?


12
z jakich okien korzystasz? Jeśli jest to Windows 7, masz zainstalowany PowerShell w systemie. Program PowerShell obsługuje polecenia nie-ścieżki i polecenia cmd (z kilkoma wyjątkami).
— wullxz

Zawsze możesz przejść do ścieżki unc przez run.
— Supercereal

1
@wullxz: na zdrowie, nie wiedziałem, że możesz przeglądać ścieżki UNC za pomocą PowerShell. @kyle: To właściwie poprawna odpowiedź według mojego pytania :) Ale chcę uzyskać do niej dostęp ze środowiska wiersza poleceń. Zmodyfikuje moje pytanie, aby było bardziej jasne.
— Andreas Grech

Jeśli problem polega na tym, że musisz pracować tylko z wiersza polecenia, możesz zmapować dysk sieciowy za pomocą polecenia „net”: net use x: \\ nazwa komputera \ nazwa udziału
— Al Crowley

1
@Aleister Crowley: Tak, wiem, ale pytam, czy jest łatwiejszy sposób, który nie wymaga mapowania dysku sieciowego.
— Andreas Grech

Odpowiedzi:


210

Jeśli użyjesz pushdi popdzamiast tego cdnie dostaniesz tego błędu UNC.

pushd <UNC path>utworzy tymczasowy dysk wirtualny i dostanie się do niego.
popdusunie dysk tymczasowy i wróci do ścieżki, którą byłeś, kiedy wszedłeś pushd.

Przykład:

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>

13
Użycie pushdtworzy mapowanie dysku do udziału sieciowego, a następnie zmienia się w ścieżkę względem udziału, który tworzy. popdrozłącza udział.
— Dow

2
Nie działało to dla mnie w systemie Windows 10.C:\WINDOWS\system32>pushd \\some\network\path ' ' CMD does not support UNC paths as current directories.
— kayleeFrye_onDeck

1
To zadziałało dla mnie w systemie Windows 10, jakie to dziwne. Zrobiłem pushd \\ServerName\home\dir\dir2.
— Diziet

3
Rodzime i eleganckie, po prostu cud. Działa w systemie Windows 10.
— WesternGun

Czy jest jakaś sztuczka, która sprawi, że będzie działać, gdy poświadczenia udziału nie będą zgodne z poświadczeniami użytkownika komputera?
— Perkins,

15

Używam do tego Git Bash , ponieważ już go zainstalowałem.

wprowadź opis zdjęcia tutaj

Jako dodatkowy bonus:
Ma też lepsze kolory, niech mi używać ls, rmitp, i używa poprawnej ukośnik na ścieżkach. : P


Możesz także użyć ukośników odwrotnych, jeśli uciekniesz przed nimi z ukośnikami odwrotnymi:cd \\\\server\\share\\subdirectory
— user121391

1
Ponadto, jeśli spróbujesz użyć uzupełniania tabulatorów z nazwami komputerów, powłoka może się zablokować na jakiś czas, aż nazwy zostaną rozwiązane.
— user121391 27.07.16

to nie działa dla mnie
— KansaiRobot

12

„Rozszerzenie powłoki ContextConsole” Kliu (znane również jako Wiersz polecenia polecenia) mówi: „może nawet otwierać katalogi ze ścieżek sieciowych (ścieżek UNC)” (z okna Eksploratora).

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

wprowadź opis zdjęcia tutaj


3
Ten program jest najbardziej niesamowity!
— afrazier

1
Jestem zszokowany zrzutem ekranu, istnieje!
— LiuYan

pamiętaj, aby otworzyć dysk //, a nie wersję zamapowaną. Nie powiedzie się na mapowaniu.
— twobob

8

Uderzyłem też problem UNC C:\> cd \\somewherew programie C. Znalazłem tę stronę i dowiedziałem się o netpoleceniu: net use x: \\computer name\share namei użyłem go z powodzeniem! Dziękujemy wszystkim, którzy publikują swoje doświadczenia, aby inni mogli się uczyć. :-)


1
Tak, ale użycie net usespowoduje mapowanie tej lokalizacji na dysk sieciowy i nie tego chciałem.
— Andreas Grech

2
@AndreasGrech, w rzeczywistości pushdteż to robi.
— Pacerier

Działa to dobrze w Far+ ConEmu, w przeciwieństwie do pushd.
— Dzmitry Lahoda

@Pacerier Ale pushdautomatycznie wybiera literę dysku i odłącza dysk sieciowy, gdy nie jest już potrzebny (po popdlub exit).
— Martin

4

Jeśli używasz XP, możesz zajrzeć na tę stronę http://support.microsoft.com/kb/156276

Istnieje wartość rejestru, którą należy dodać, wylogować się, zalogować ponownie ... a teraz plik cmd.exe obsługuje ścieżki UNC. Wydaje mi się, że nadal nie możesz cd do ścieżki, ale możesz użyć jej w innych poleceniach, takich jak reż, kopiuj ...

Alternatywą może być użycie polecenia pushd, które pozwoli ci przełączyć się na udział (myślę, że przypisując mu tymczasową literę dysku) http://support.microsoft.com/kb/317379


Strony, które
— dowiązałeś,

Linki działają tutaj. Próbowałeś używać https?
— BigBlackDog

-3

Możesz użyć aplikacji HttpFileServer, jest ona „na windows”, bardzo lekka i bardzo łatwa w konfiguracji, pozwala ci współdzielić folder sieciowy UNC (\ server \ share) z protokołem HTTP, a łącza HTTP można używać na dowolnej stronie HTML

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

to niesamowite


8
Niezbyt przydatne dla użytkownika wiersza poleceń.
— Isaac Rabinovitch

Zgadzam się, że jest to niesamowite oprogramowanie, ale jak można je wykorzystać, aby obejść fakt, że aplikacja do okien CMD nie obsługuje UNC?
— Jay Elston,
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.