我需要使用批处理文件映射网络驱动器,但不想指定驱动器号。
批处理文件用作部署过程的一部分;我从 调用批处理文件CruiseControl.Net
,批处理文件需要映射一个需要凭据才能进行身份验证的 UNC 路径。然后批处理文件调用RoboCopy
将网站从输出目录部署到目标(并排除一些文件和文件夹)。最后批量删除网络驱动器。
问题是这不是可扩展的,当只有几个项目时这很好,但我们现在有 20 个项目使用这种方法并且正在用完驱动器号来映射。我不想重复使用驱动器号,因为它们可能会发生冲突——这很糟糕。
这是批处理文件的示例:
@echo off
net use x: \\192.168.0.1\Share\wwwroot\MyProject /user:mydomain\myuser MyP455w0rd
robocopy.exe "W:\wwwroot\MyProject" x:\ *.* /E /XO /XD "App_Data/Search" "*.svn" /XF "sitefinity.log" "Thumbs.db" /NDL /NC /NP
net use x: /delete
并格式化为可读性:
@echo off
net use x: \\192.168.0.1\Share\wwwroot\MyProject
/user:mydomain\myuser MyP455w0rd
robocopy.exe "W:\wwwroot\MyProject" x:\ *.* /E /XO /XD
"App_Data/Search" "*.svn" /XF "sitefinity.log" "Thumbs.db" /NDL /NC /NP
net use x: /delete