Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Batch file 用于更新属性文件值的bat脚本_Batch File_Jenkins_Jenkins Plugins - Fatal编程技术网

Batch file 用于更新属性文件值的bat脚本

Batch file 用于更新属性文件值的bat脚本,batch-file,jenkins,jenkins-plugins,Batch File,Jenkins,Jenkins Plugins,我正在寻找一个批处理脚本帮助更新属性文件后,通过詹金斯每次建设。我想用生成版本更新此文件。像 VER=1.234.44.5,1.234.44.6,1.234.44.7 并且只想在其中保留5个条目,因此新构建将删除最后一个条目,并在末尾的first中添加新版本。 可以通过批处理脚本执行吗 恐怕我不太明白你的要求。但是,下面的批处理文件“删除1.2.3.1并在1.2.3.6末尾添加”来自VER=1.2.3.1,1.2.3.2,1.2.3.3,1.2.3.4,1.2.3.5: @echo off s

我正在寻找一个批处理脚本帮助更新属性文件后,通过詹金斯每次建设。我想用生成版本更新此文件。像

VER=1.234.44.5,1.234.44.6,1.234.44.7
并且只想在其中保留
5个
条目,因此新构建将删除最后一个条目,并在末尾的first中添加新版本。
可以通过批处理脚本执行吗

恐怕我不太明白你的要求。但是,下面的批处理文件“删除1.2.3.1并在1.2.3.6末尾添加”来自
VER=1.2.3.1,1.2.3.2,1.2.3.3,1.2.3.4,1.2.3.5

@echo off
setlocal enabledelayedexpansion

set VER=1.2.3.1,1.2.3.2,1.2.3.3,1.2.3.4,1.2.3.5
echo Before: %VER%

for /F "tokens=2-5 delims=," %%a in ("%VER%") do (
   set next=%%~Xd
   set /A next=!next:~1!+1
   set VER=%%a,%%b,%%c,%%d,%%~Nd.!next!
)

echo After:  %VER%

你有什么要求?您的输入行是什么样子的?预期的输出行是什么?我只想用新的条目更新这个文件。与新版本一样,新版本应删除最新版本Entry 1.234.44.7,并在begining VER=1.234.44.8、1.234.44.5、1.234.44.6中添加新版本1.234.44.8。在其他Jenkins作业中,它读取此属性文件并预填充参数化版本。因此,我只能选择进行构建所需的版本。您的示例是否应该颠倒?像
VER=1.234.7,1.234.6,1.234.5
谢谢,你是对的,它应该看起来更简单,比如VER=1.2.3.1,1.2.3.2,1.2.3.3,1.2.3.4,1.2.3.5删除1.2.3.1并在1.2.3.6末尾添加hanks Aacini,VER变量在build.properties文件中。是否可以添加更新属性文件的步骤?我想在Jenkins构建作业结束时运行此脚本。这将使用新版本号更新build.properties。在执行部署的第二个Jenkins作业中,读取此build.properties文件并填充可用的构建版本以选择部署,新版本将作为参数传递到此脚本。在你的脚本中,它是计算acini,你的脚本帮助我找出如何更新。这是我用你的剧本写的<代码>@echo off setlocal enabledelayedexpansion set NV=%1 set PROP=%2 For/F“tokens=1*delims==”%A IN(%PROP%)DO(如果“%%A”=“VER”set VERS=%%%B)echo之前:%VERS%For/F“tokens=2-5 delims=,“%%A IN”(%VERS%)DO(echo之后:%%A、%%B、%%c、%%d、%%NV%echo VER=%A、%%B、%%d、%%c、%%d%)退出/B