題 使用Windows CMD瀏覽UNC路徑,而不將其映射到網絡驅動器


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

我通常做的就是將該目錄映射到網絡驅動器,然後我可以從命令提示符輕鬆訪問它。

但有沒有更簡單的方法來解決這個問題?


127
2018-05-13 11:15


起源


你用哪個窗戶?如果它是Windows 7,那麼您的系統上預裝了powershell。 Powershell支持unc-paths和cmd-commands(少數例外)。 - wullxz
您始終可以通過運行瀏覽到unc路徑。 - Not Kyle stop stalking me
@wullxz:乾杯,我不知道你可以用PowerShell瀏覽UNC路徑。 @kyle:根據我的問題,這實際上是一個有效的答案:)但我想從命令行環境中訪問它。將修改我的問題以使其更清楚。 - Andreas Grech
如果您的問題是您只需要從命令行工作,則可以使用'net'命令映射網絡驅動器:net use x:\\ computer name \ share name - Al Crowley
@Aleister Crowley:是的,我知道,但我想問是否有一種更簡單的方法,不涉及映射網絡驅動器。 - Andreas Grech


答案:


如果你使用 pushd 和 popd 代替 cd 你不會得到UNC錯誤。

pushd <UNC path> 將創建一個臨時虛擬驅動器並進入它。
popd 將刪除臨時驅動器並返回到您輸入時的路徑 pushd

例:

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>

178
2018-03-12 20:00



運用 pushd 創建映射到網絡共享的驅動器,然後更改為相對於它創建的共享的路徑。 popd 斷開共享。 - Dov
這在Windows 10上對我不起作用。 C:\WINDOWS\system32>pushd \\some\network\path  ' ' CMD does not support UNC paths as current directories. - kayleeFrye_onDeck
它在Windows 10中對我有用,多麼奇怪。我做到了 pushd \\ServerName\home\dir\dir2。 - Diziet
原始而優雅,只是一個奇蹟。適用於Windows 10。 - WesternGun
當共享憑據與計算機的用戶憑據不匹配時,是否有任何技巧可以使其工作? - Perkins


Kliu的“ContextConsole Shell Extension”(又稱Open命令提示符)表示,“甚至可以從網絡路徑(UNC路徑)打開目錄”(來自資源管理器窗口)。

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

enter image description here


12
2018-05-13 16:07



這個程序真棒! - afrazier
我對截圖感到震驚,它存在! - LiuYan 刘研
記得打開//驅動器而不是映射版本。它將在映射時失敗。 - twobob


我用 Git Bash 這樣做,因為我已經安裝了它。

enter image description here

作為額外獎勵:
它也有更好的顏色,讓我使用 lsrm等,並使用正確的斜杠路徑。 :P


11
2017-07-09 17:53



如果用反斜杠轉義它們,也可以使用反斜杠: cd \\\\server\\share\\subdirectory - user121391
此外,如果您嘗試使用計算機名稱的Tab鍵完成,shell可能會鎖定一段時間,直到名稱被解析。 - user121391
它對我不起作用 - KansaiRobot


我也遇到了UNC問題 C:\> cd \\somewhere 在C程序中。找到這個頁面並了解了一下 net 命令: net use x: \\computer name\share name 並成功使用它!感謝所有發表他們經驗的人為他人學習。 :-)


6
2018-01-28 07:51



是的,但是使用 net use 將該位置映射到網絡驅動器,這不是我想要的。 - Andreas Grech
@AndreasGrech,實際上 pushd 也這樣做。 - Pacerier
這很好用 Far+ConEmu不像 pushd。 - Dzmitry Lahoda


如果你使用XP,你可以看看這個網站 http://support.microsoft.com/kb/156276

有一個註冊表值,您需要添加,註銷,再次登錄...現在您的cmd.exe確實支持UNC路徑。在我看來你仍然無法cd到路徑,但你可以在其他命令如dir,copy ...中使用它

替代方案可能是使用pushd命令,這將允許您切換到共享(我猜通過為其分配一個臨時驅動器號) http://support.microsoft.com/kb/317379


4
2018-05-13 12:10



你鏈接的頁面看起來像空頁...... - Pacerier
鏈接在這里工作。你嘗試過使用https嗎? - BigBlackDog


您可以使用HttpFileServer應用程序,它通過Windows,非常輕便且非常容易配置,它允許您與HTTP協議共享網絡文件夾UNC(\ server \ share),並且HTTP鏈接可以在任何HTML頁面中使用

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

太奇妙了


-3
2018-06-21 10:31



對命令行用戶不是很有用。 - Isaac Rabinovitch
我同意這是一個了不起的軟件,但它如何用於解決CMD窗口應用程序不處理UNC這一事實? - Jay Elston