我有一个文件夹c:\ Scripts。我在其中放了三个文件:
build.txt
trigger.bat
deploy.bat
我有一个内部版本号build.txt
喜欢的东西
1.2.3.4
我试图以自动方式传递每天增加一个的版本。因此,今天我的.txt文件具有1.2.3.4,我的trigger.bat将必须使用命令行参数1.2.3.5(递增1)来调用deploy.bat。它还应该用1.2.3.5覆盖我的.txt文件内容,因为我要安排它。因此,明天它将自动增加到1.2.3.6,依此类推。
现在,我将其包含在我的内部trigger.bat
:
@echo off
set /p build=<version.txt
FOR /f "tokens=4* delims=." %%a IN ("%build%") DO (
set ver=%%a
)
set /A ver=ver+1
.\deploy.bat -version "1.2.3.%ver%"
我那里有两个问题:
echo %version% > version.txt
假设将覆盖我的文本文件的操作。如果没有,请也提供帮助。我也可以使用PowerShell解决方案。仅仅是我知道Windows批处理脚本的一些基础知识,所以我选择了这种方法。
1)要增加,您必须将其拆解。因此,您的方法朝着正确的方向发展。只需对其进行扩展以使其更加灵活即可:
setlocal enabledelayedexpansion
set /p build=<version.txt
for /f "tokens=1-4 delims=." %%a in ("%build%") do (
set /a last=%%d + 1
set ver=%%a.%%b.%%c.!last!
)
echo %ver% > version.txt
.\deploy.bat -version "%ver%"
2)正确,>
覆盖目标文件(如果不存在,则创建它)。(>>
将附加)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句