在Windows批处理中处理网上邻居中的文件

  • 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本博客采用 WPCMD 维护;
  • 本文标题:在Windows批处理中处理网上邻居中的文件
  • 本文链接:http://zengrong.net/post/2022.htm

在Windows批处理中处理网上邻居中的文件

use UNC files in command line

在 Windows 批处理中,默认不能处理网上邻居中的文件。本文介绍解决办法。

问题

当使用 cd 命令进入一个网上邻居目录的时候,会出现下面的错误提示:

C:\Users\zrong>cd \\192.168.18.18\project
'\\192.168.18.18\project'
CMD does not support UNC paths as current directories.

那么,如何处理?

使用 pushd / popd

使用 pushd 命令,可以自动将网上邻居中的共享目录映射为一个驱动器。

例如,下面的命令映射了一个 z: 驱动器,然后我们就可以像操作本地硬盘一样操作该驱动器。

C:\Users\zrong>pushd \\192.168.18.18\project
Z:\>

pushd 只能将共享的目录映射为驱动器的根目录,如果映射的是一个子目录,则会自动进入该驱动器的子目录。

例如:

C:\Users\zrong>pushd \\192.168.18.18\project\lulala

Z:\lulala>

使用完毕之后,使用 popd 命令取消映射。

Z:\>popd

C:\Users\zrong>

注意, pushd / popd 是可以递归使用的,在 pushd 映射成功的驱动器中,可以继续使用 pushd 映射新的驱动器。

使用 net use

使用强大的 net 命令集中的 use 命令,也可以映射网络驱动器。

C:\Users\zrong>net use z: \\192.168.18.18\project
The command completed successfully.

C:\Users\zrong>z:
Z:\>

pushd 不同的是,net use 可以直接将一个共享目录的子目录映射成为驱动器的根目录。例如:

C:\Users\zrong>net use z: \\192.168.18.18\project\lulala
The command completed successfully.

此时, z: 驱动器的根目录就是 \\192.168.18.18\project\lulala

删除映射:

C:\Users\zrong>net use z: /del /yes
z: was deleted successfully.

参考文章

Simplify UNC usage in command line batch files