批处理文件在文件中查找特定单词并从该行传递单词

时间:2015-11-16 02:37:29

标签: batch-file

我有这个配置文件,我想打印出我想要的单词。现在我只是使用这样的简单批处理文件:

文件名:MYIMMSTOCK.EXE.CONFIG

<add key="ApplicationName" value="MyImms-VP"/>
<add key="CurrentVersion" value="v6.1.0.8"/>

批处理文件

findstr&#34; CurrentVersion&#34; C:\ JIM \ MYIMM \ BIN \ STOCK \ MYIMMSTOCK.EXE.CONFIG

输出

add key =&#34; CurrentVersion&#34;值=&#34; v6.1.0.8&#34 /

那么我如何从该值v6.1.0.8获取单词才打印出来? 请帮帮我。

1 个答案:

答案 0 :(得分:1)

假设线的格式永远不会改变你所显示的,那么你可以使用FOR / F来使用"作为标记分隔符来捕获第4个标记。

@echo off
for /f tokens^=4^ delims^=^" %%A in (
  'findstr "CurrentVersion" "C:\JIM\MYIMM\BIN\STOCK\MYIMMSTOCK.EXE.CONFIG"'
) do echo %%A

或者您可以使用我的JREPL.BAT regular expressionn text processing utility来获得更强大的解决方案。 JREPL是纯脚本(混合批处理/ JScript),可以在XP以后的任何Windows机器上本机运行。

jrepl "key=\qCurrentVersion\q +value=\q(.*?)\q" $1 /x /jmatch /f "C:\JIM\MYIMM\BIN\STOCK\MYIMMSTOCK.EXE.CONFIG"

如果将命令放在批处理脚本中,请使用CALL JREPL。