在Windows批处理中处理网上邻居中的文件
use UNC files in command line
在 Windows 批处理中,默认不能处理网上邻居中的文件。本文介绍解决办法。
问题
当使用 cd
命令进入一个网上邻居目录的时候,会出现下面的错误提示:
1C:\Users\zrong>cd \\192.168.18.18\project
2'\\192.168.18.18\project'
3CMD does not support UNC paths as current directories.
那么,如何处理?
使用 pushd / popd
使用 pushd
命令,可以自动将网上邻居中的共享目录映射为一个驱动器。
例如,下面的命令映射了一个 z:
驱动器,然后我们就可以像操作本地硬盘一样操作该驱动器。
1C:\Users\zrong>pushd \\192.168.18.18\project
2Z:\>
pushd
只能将共享的目录映射为驱动器的根目录,如果映射的是一个子目录,则会自动进入该驱动器的子目录。
例如:
1C:\Users\zrong>pushd \\192.168.18.18\project\lulala
2
3Z:\lulala>
使用完毕之后,使用 popd
命令取消映射。
1Z:\>popd
2
3C:\Users\zrong>
注意, pushd / popd
是可以递归使用的,在 pushd
映射成功的驱动器中,可以继续使用 pushd
映射新的驱动器。
使用 net use
使用强大的 net
命令集中的 use
命令,也可以映射网络驱动器。
1C:\Users\zrong>net use z: \\192.168.18.18\project
2The command completed successfully.
3
4C:\Users\zrong>z:
5Z:\>
与 pushd
不同的是,net use
可以直接将一个共享目录的子目录映射成为驱动器的根目录。例如:
1C:\Users\zrong>net use z: \\192.168.18.18\project\lulala
2The command completed successfully.
此时, z:
驱动器的根目录就是 \\192.168.18.18\project\lulala
。
删除映射:
1C:\Users\zrong>net use z: /del /yes
2z: was deleted successfully.
参考文章
Simplify UNC usage in command line batch files
- 文章ID:2022
- 原文作者:zrong
- 原文链接:https://blog.zengrong.net/post/use_unc_in_command_line/
- 版权声明:本作品采用 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 进行许可,非商业转载请注明出处(原文作者,原文链接),商业转载请联系作者获得授权。