This batch file releases a build from TEST to LIVE. I want to add a check constraint in this file that ensures there is an accomanying release document in a specific folder.
"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
So I have a couple of questions about how to achieve this…
-
There is a
version.txtfile in the\\testserver\testapp$folder, and the only contents of this file is the build number (for example, 45 – for build 45)
How do I read the contents of theversion.txtfile into a variable in the batch file? -
How do I check if a file ,
\\fileserver\myapp\releasedocs\ {build}.doc, exists using the variable from part 1 in place of {build}?
Read file contents into a variable:
or
Both will act the same with only a single line in the file, for more lines the
forvariant will put the last line into the variable, whileset /pwill use the first.Using the variable – just like any other environment variable – it is one, after all:
So to check for existence:
Although it may well be that no UNC paths are allowed there. Can’t test this right now but keep this in mind. Note that with the set /P command the file cannot be in Unicode format.