将工作目录更改为网络共享

tom*_*uyt 27 shared-folders cmd.exe

我可以列出文件夹中的所有文件: dir \\aenw08v401\FOLDER\I001\*

但是,当我执行时cd \\aenw08v401\FOLDER\I001,当前工作目录根本不会改变。

这是我执行时看到的net view \\aenw08v401

Shared resources at \\aenw08v401
Share name  Type  Used as  Comment

-----------------------------------
FOLDER    Disk
The command completed successfully.
Run Code Online (Sandbox Code Playgroud)

是否缺少某个开关,或者我是否需要使用其他命令?

Ste*_*ven 38

Windows 命令提示符cmd不支持 UNC 路径作为当前目录。

C:\Users\User1>cd \\myServer\myShare
CMD does not support UNC paths as current directories.
Run Code Online (Sandbox Code Playgroud)

解决方法:使用pushd.

C:\Users\User1>pushd \\myServer\myShare

Z:\>dir
 Volume in drive Z is MYDRIVE
 Volume Serial Number is 1234-5678

 Directory of Z:\

12/16/2015  11:18 AM    <DIR>          .
12/16/2015  11:18 AM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  120,609,575,936 bytes free

Z:\>popd

C:\Users\User1>
Run Code Online (Sandbox Code Playgroud)

替代解决方案:将 UNC 路径映射到驱动器号。

C:\Users\User1>net use Y: \\myServer\myShare 
The command completed successfully.

C:\Users\User1>Y:

Y:\>dir
 Volume in drive Y is MYDRIVE
 Volume Serial Number is 1234-5678

 Directory of Y:\

12/16/2015  11:18 AM    <DIR>          .
12/16/2015  11:18 AM    <DIR>          ..
               0 File(s)              0 bytes
               2 Dir(s)  120,609,575,936 bytes free

Y:\>C:

C:\Users\User1>net use /delete Y:
Y: was deleted successfully.
Run Code Online (Sandbox Code Playgroud)

  • pushd 解决方案对我来说非常有效,但最终 `psexec` 对我来说效果更好 (2认同)
  • 或者使用 PowerShell,其中 `cd \\Server\path` 就可以工作。 (2认同)