此批处理文件将构建从 TEST 发布到 LIVE。我想在这个文件中添加一个检查约束,以确保在特定文件夹中有一个随附的发布文档。
"C:\Program Files\Windows Resource Kits\Tools\robocopy.exe" "\\testserver\testapp$" "\\liveserver\liveapp$" *.* /E /XA:H /PURGE /XO /XD ".svn" /NDL /NC /NS /NP del "\\liveserver\liveapp$\web.config" ren "\\liveserver\liveapp$\web.live.config" web.config
所以我有几个关于如何实现这一目标的问题......
文件夹中有一个version.txt文件,这个\\testserver\testapp$文件的唯一内容是内部版本号(例如,45 - for build 45) 如何将文件内容读version.txt入批处理文件中的变量?
version.txt
\\testserver\testapp$
如何\\fileserver\myapp\releasedocs\ {build}.doc使用第 1 部分中的变量代替 {build} 检查文件 , 是否存在?
\\fileserver\myapp\releasedocs\ {build}.doc
将文件内容读入变量:
for /f "delims=" %%x in (version.txt) do set Build=%%x
或者
set /p Build=<version.txt
两者的行为相同,只有文件中的一行,对于更多行,for变体会将 最后 一行放入变量中,而set /p将使用 第一行。
for
set /p
使用变量——就像任何其他环境变量一样——它是一个,毕竟:
%Build%
所以要检查是否存在:
if exist \\fileserver\myapp\releasedocs\%Build%.doc ...
尽管很可能那里不允许使用 UNC 路径。现在无法测试,但请记住这一点。