使用Windows CMD浏览UNC路径而不将其映射到网络驱动器


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

为了解决这个问题,我通常要做的就是将该目录映射到网络驱动器,然后可以从命令提示符轻松访问它。

但是,如何解决这个问题有更简单的方法吗?


12
您使用哪个窗户?如果是Windows 7,则说明您已在系统上预安装Powershell。Powershell支持unc-paths和cmd-commands(少数例外)。
wullxz 2011年

您始终可以通过运行浏览到unc路径。
Supercereal

1
@wullxz:干杯,我不知道您可以使用PowerShell浏览UNC路径。@kyle:根据我的问题,这实际上是一个有效的答案:)但是我想从命令行环境访问它。将修改我的问题以使其更清楚。
Andreas Grech

如果您的问题是只需要从命令行工作,则可以使用“ net”命令映射网络驱动器:net use x:\\计算机名\共享名
Al Crowley

1
@Aleister Crowley:是的,我知道,但是我想问是否有一种不涉及映射网络驱动器的简便方法。
Andreas Grech

Answers:


210

如果您使用pushdpopd不是,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>

13
使用pushd创建到网络共享的驱动器映射,然后更改为相对于它创建的共享的路径。popd断开共享。
2012年

2
这并没有为我在Windows 10的工作C:\WINDOWS\system32>pushd \\some\network\path ' ' CMD does not support UNC paths as current directories.
kayleeFrye_onDeck

1
它在Windows 10中对我来说只是工作,多么奇怪。我做到了pushd \\ServerName\home\dir\dir2
Diziet

3
本土而优雅,真是一个奇迹。适用于
Windows10。– WesternGun

当共享凭据与计算机的用户凭据不匹配时,是否有任何技巧可以使其正常工作?
珀金斯

15

我使用的Git的Bash要做到这一点,因为我已经安装了它。

在此处输入图片说明

作为额外的奖励:
它也具有更好的色彩,让我们我用lsrm等等,并使用路径正确的斜线。:P


如果您使用反斜杠来转义,也可以使用反斜杠:cd \\\\server\\share\\subdirectory
user121391 '16

1
另外,如果您尝试对计算机名称使用制表符补全,则外壳程序可能会锁定一段时间,直到解析名称。
user121391 '16

它对我不起作用
KansaiRobot

12

Kliu的“ ContextConsole Shell扩展”(又名“打开命令提示符”)说,“甚至可以从网络路径(UNC路径)打开目录”(从资源管理器窗口打开)。

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

在此处输入图片说明


3
这个程序真棒!
2011年

1
屏幕截图令我震惊,它存在!
LiuYan刘研

记住要打开//驱动器而不是打开映射版本。映射失败。
twobob

8

我也在C:\> cd \\somewhereC程序中遇到了UNC问题。找到此页面并了解该net命令:net use x: \\computer name\share name并成功使用它!感谢所有将自己的经验发布给其他人学习的人。:-)


1
是的,但是使用net use会将该位置映射到网络驱动器,而这不是我想要的。
Andreas Grech

2
@AndreasGrech,实际上pushd也是。
Pacerier

Far+ ConEmu不同,这在+中效果很好pushd
Dzmitry Lahoda

@Pacerier但会pushd自动选择驱动器号,并在不再需要时(在popd或之后exit)断开网络驱动器的连接。
马丁

4

如果您使用的是XP,则可以访问此网站http://support.microsoft.com/kb/156276

您需要添加一个注册表值,然后注销,然后再次登录...现在,您的cmd.exe确实支持UNC路径。在我看来,您仍然无法CD到路径,但是您可以在其他命令中使用它,例如dir,copy ...

一种替代方法是使用pushd命令,该命令将使您切换到共享(我想是通过为它分配一个临时驱动器号)http://support.microsoft.com/kb/317379


您链接的页面似乎是空白页……
Pacerier

链接在这里工作。您是否尝试过使用https?
BigBlackDog

-3

您可以使用HttpFileServer应用程序,它在Windows上运行,非常轻巧且易于配置,它允许您使用HTTP协议共享网络文件夹UNC(\ server \ share),并且HTTP链接可以在任何HTML页面中使用

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

太奇妙了


8
对命令行用户不是很有用。
艾萨克·拉比诺维奇

我同意这是一个了不起的软件,但是如何使用它来解决CMD窗口应用程序无法处理UNC的事实呢?
杰伊·埃尔斯顿
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.