如何提取Windows批处理文件的版本号? [英] How to extract version number in a Windows batch file?
问题描述
我需要从字符串中提取的主要,次要和修订版本号并为实现这个我试图在拆分使用批处理文件中的字符串'。字符作为分隔符。
有关例如:
如果用户在命令提示符下输入 1.0.2
我应该能够提取
- 1 - 主要版本,
- 0 - 次要版本和
- 2 - 修订
我试图使用FOR命令来实现这一点,但只是没有得到通过。谁能帮我出提取部分
@ECHO OFF&安培; SETLOCAL
集/ PReleaseVersion =请指定软件版本::nextVar
FOR / F令牌= 1 * delims =。 %%一个在(%ReleaseVersion%)做(
设置一个%%
设置ReleaseVersion = %% b
)
如果定义ReleaseVersion转到nextVar@暂停
在这里你去...
@ECHO OFF&安培; SETLOCAL
集/ PReleaseVersion =请指定软件版本:FOR / F令牌= 1,2,3 delims =。 %%一个在(%ReleaseVersion%)做(
设置主要= %%一
设置小= %% b
设置版本= %%Ç
)回声专业:%主要%,次要:次要%%,修订:修订%%
输入/输出:
请指定软件版本:1.0.2
专业:1,辅修:0,修订:2
块引用>I need to extract the Major , Minor and Revision numbers from a string and to achieve this I'm trying to split a string in a batch file using a '.' character as the delimiter.
For ex: If the user enters 1.0.2 in the command prompt I should be able to extract
- 1 - Major version,
- 0 - Minor version and
- 2 - Revision
I'm trying to use the FOR command to achieve this, but just not getting through. Can anyone help me out with the extracting part
@ECHO OFF & SETLOCAL set /p "ReleaseVersion=Please specify the software release version : " :nextVar for /F "tokens=1* delims=." %%a in ("%ReleaseVersion%") do ( set %%a set ReleaseVersion=%%b ) if defined ReleaseVersion goto nextVar @PAUSE
解决方案Here you go...
@ECHO OFF & SETLOCAL set /p "ReleaseVersion=Please specify the software release version : " for /F "tokens=1,2,3 delims=." %%a in ("%ReleaseVersion%") do ( set Major=%%a set Minor=%%b set Revision=%%c ) echo Major: %Major%, Minor: %Minor%, Revision: %Revision%
Input/output:
Please specify the software release version : 1.0.2
Major: 1, Minor: 0, Revision: 2
这篇关于如何提取Windows批处理文件的版本号?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!