使用dos cmd行解析一个简单的文本文件

时间:2013-05-09 14:32:38

标签: parsing batch-file cmd

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

  

修订版2。

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

2 个答案:

答案 0 :(得分:3)

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

echo version number=%vernum%

如果文件不在当前目录中,您可能需要将vernum.txt更改为完整路径名。如果您的文件名包含空格,则需要使用"双引号"来引用名称。如果您使用引号,则还需要在usebackq关键字

之前将关键指令tokens添加到引号中

限定符中结束引号之前的空格很重要 - 它表示"分隔符为.spacetokens=3表示第三个标记:At revision2

请参阅文档提示中的for /?

答案 1 :(得分: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