程序[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}\.[0-9]{1,}
在命令行上返回此正则表达式类型的版本字符串。因此输出如下所示:
C:\users\user\desktop>a.exe --version
Version: 1.22.53.4134
我Version
通过这个get-version-info.bat将输出保存到一个变量
for /f "usebackq tokens=1* delims=: " %%i in (`a.exe --version`) do (
if /i "%%i"=="Version" set "Version=%%j"
)
为了解决我的确切问题,我只需要主要和次要版本号,但是一个通用的、适应性强的解决方案当然也很好。
如何在批处理文件中获取程序的主要和次要版本号?
您可以在批处理文件中使用此单个命令行:
for /F "tokens=1-3 delims=:. " %%I in ('a.exe --version') do if /I "%%I" == "Version" set "Version=%%J.%%K"
用于分割行输出的分隔符a.exe
是冒号:
、点.
和空格,
如delims=:.
.
感兴趣的只是前 3 个子字符串(标记),如tokens=1-3
. 第一个子串被Version
分配给指定的循环变量I
。1
根据ASCII 表,将第二个子字符串分配给下一个循环变量J
。并且第三个子字符串被22
分配给循环变量K
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句