程序在命令行上返回此regex类型[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}的版本字符串。因此,输出如下所示:
C:\users\user\desktop>a.exe --version
Version: 1.22.53.4134我通过这个get-version-info.bat将输出保存到变量Version中。
for /f "usebackq tokens=1* delims=: " %%i in (`a.exe --version`) do (
if /i "%%i"=="Version" set "Version=%%j"
)为了解决我的确切问题,我只需要主要的和次要的发布号,但是一个通用的、适应性强的解决方案当然也是很好的。
如何在批处理文件中获得程序的主次版本号?
发布于 2017-08-26 12:18:23
您可以在批处理文件中使用这个命令行:
for /F "tokens=1-3 delims=:. " %%I in ('a.exe --version') do if /I "%%I" == "Version" set "Version=%%J.%%K"a.exe用于分隔行输出的分隔符是冒号:、点.和delims=:.指定的空格。
感兴趣的只有tokens=1-3指定的前3个子字符串(令牌)。第一个子字符串是Version,分配给指定的循环变量I。第二个子字符串是1,根据ASCII表 ( J )分配给下一个循环变量。第三个子字符串是22,分配给循环变量K。
https://stackoverflow.com/questions/45894881
复制相似问题