Windows 10 cmd/powershell:cd 到网络共享?

sdb*_*bbs 3 networking command-line windows-10

好的,我已经看到:将工作目录更改为网络共享- 但是,它在 Windows 10 上似乎对我不起作用。

在工作中,我有一个网络共享,比方说,在本地 IP 地址 20.0.0.1;所以,首先我去一个 Windows 资源管理器窗口,在那里输入\\20.0.0.1\,我被要求输入登录名和密码;当我输入我的凭据时,我会得到一个目录列表,没问题。(我什至在 Windows 资源管理器窗口左侧的树视图窗格中获得\\20.0.0.1\了一个节点Network。)

所以,现在我以管理员身份打开 Powershell,然后试试这个:

PS C:\WINDOWS\system32> cd \\20.0.0.1\
cd : Cannot find path '\\20.0.0.1\' because it does not exist.
At line:1 char:1
+ cd \\20.0.0.1\
+ ~~~~~~~~~~~~~~~
    + CategoryInfo          : ObjectNotFound: (\\20.0.0.1\:String) [Set-Location], ItemNotFoundException
    + FullyQualifiedErrorId : PathNotFound,Microsoft.PowerShell.Commands.SetLocationCommand
Run Code Online (Sandbox Code Playgroud)

相同cmd.exe,以管理员身份运行:

C:\WINDOWS\system32>pushd \\20.0.0.1\
The network name cannot be found.
Run Code Online (Sandbox Code Playgroud)

网络使用也不起作用:

C:\WINDOWS\system32>net use Y: \\20.0.0.1\
System error 67 has occurred.

The network name cannot be found.
Run Code Online (Sandbox Code Playgroud)

... 然而,服务器是完全可 ping 的:

C:\WINDOWS\system32>ping 20.0.0.1

Pinging 20.0.0.1 with 32 bytes of data:
Reply from 20.0.0.1: bytes=32 time<1ms TTL=64
Reply from 20.0.0.1: bytes=32 time<1ms TTL=64

Ping statistics for 20.0.0.1:
    Packets: Sent = 2, Received = 2, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 0ms, Maximum = 0ms, Average = 0ms
Control-C
^C
Run Code Online (Sandbox Code Playgroud)

如何从终端(cmd 或 Powershell)进入此网络共享?

Ton*_*nny 10

1:您的语法错误:\\servername\指定了服务器,而不是 UNC-PATH。
您至少需要使用\\servername\sharename
2:您不能使用命令提示符执行此操作。您必须将网络驱动器映射到它并使用 CMD.exe 中的驱动器号。它将在 PowerShell 中工作。

  • 谢谢你,@Tonny - 只是要注意,我在 OP 中链接的问题已经指出你不能使用 `cmd.exe``cd` 进入网络共享 - 这就是为什么它推荐 `cmd.exe` 使用 `pushd` ` 代替(也是我在 OP 中使用的) (2认同)
  • Pushd 也不会这样做:除非启用了命令扩展:在这种情况下,它将分配一个驱动器号,将共享和 CD 映射到该驱动器号。它不会真正 cd 到 UNC 路径。 (2认同)

小智 6

PowerShell Core 解决方案怎么样?我成功地使用了

cd Microsoft.PowerShell.Core\FileSystem::\\servername\sharename
Run Code Online (Sandbox Code Playgroud)