我有一个包含一行的文本文件(vernum.txt):
在第 2 版。
如何使用 dos cmd 行读取该行并仅使用数字保存变量?它将始终是“在修订 ####”。
我有一个包含一行的文本文件(vernum.txt):
在第 2 版。
如何使用 dos cmd 行读取该行并仅使用数字保存变量?它将始终是“在修订 ####”。
for /f "tokens=3delims=. " %%i in (vernum.txt) do set vernum=%%i
echo version number=%vernum%
vernum.txt
如果文件不在当前目录中,您可能需要更改为完整路径名。如果您的文件名包含空格,则需要使用“双引号”将该名称引用。如果您使用引号,您还需要将 key 指令添加到关键字usebackq
之前的引号中tokens
限定符中右引号前的空格很重要 - 它表示“分隔符是.
or space
。tokens=3
表示第三个标记 :At
revision
和2
for /?
从提示中查看文档。
通过使用如下命令:
@ECHO off
SET /P MYVAR=<vernum.txt
ECHO MYVAR=%MYVAR%
FOR /f "tokens=3* delims=.\ " %%K IN ( "%MYVAR%" ) DO (
SET /A RESULT=%%K
)
ECHO The number is: %RESULT%
pause