3

我有一个包含一行的文本文件(vernum.txt):

在第 2 版。

如何使用 dos cmd 行读取该行并仅使用数字保存变量?它将始终是“在修订 ####”。

4

2 回答 2

3
for /f "tokens=3delims=. " %%i in (vernum.txt) do set vernum=%%i

echo version number=%vernum%

vernum.txt如果文件不在当前目录中,您可能需要更改为完整路径名。如果您的文件名包含空格,则需要使用“双引号”将该名称引用。如果您使用引号,您还需要将 key 指令添加到关键字usebackq之前的引号中tokens

限定符中右引号前的空格很重要 - 它表示“分隔符是.or spacetokens=3表示第三个标记 :At revision2

for /?从提示中查看文档。

于 2013-05-09T14:46:48.840 回答
2

通过使用如下命令:

@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
于 2013-05-09T14:44:59.763 回答