我尝试使用批处理脚本在共享网络目录中的多个级别创建目录,但是当我提供完全限定的网络路径时它无法正常工作,而只有在我使用映射的驱动器名称时它才有效。但我不能使用映射的驱动器名称,因为生产设置不允许映射驱动器。见下面的例子。
我试图运行这个批处理文件但是它失败并显示错误消息""
mk_dir.bat
@echo off
mkdir "\\hostname.com\shared_dir\Folder_Level_1\Folder_Level_2\Folder_Level_3\Folder_Level_4"
我有" \ hostname.com \ shared_dir"映射到驱动器的路径的一部分' U'如果我改变我的脚本如下,它的工作原理。但我不想使用这样的映射驱动器。
mk_dir.bat
@echo off
mkdir "U:\Folder_Level_1\Folder_Level_2\Folder_Level_3\Folder_Level_4"
你能为这个问题建议一个解决方案吗?注意我不能使用PowerShell脚本。
答案 0 :(得分:1)
@echo off
setlocal EnableExtensions
pushd "\\hostname.com\shared_dir"
mkdir ".\Folder_Level_1\Folder_Level_2\Folder_Level_3\Folder_Level_4"
popd
endlocal
如果共享目录可能不存在,您应该使用:
@echo off
setlocal EnableExtensions
pushd "\\hostname.com\shared_dir" && (
mkdir ".\Folder_Level_1\Folder_Level_2\Folder_Level_3\Folder_Level_4"
popd
)
endlocal