标题: [文本处理] [已解决]批处理for语句怎样把findstr的结果赋值给变量 [打印本页]
作者: hanzinu 时间: 2009-12-26 21:06 标题: [已解决]批处理for语句怎样把findstr的结果赋值给变量
bathome.txt文件中内容:
c:\abc
c:\def
for %%x in ('findstr /i "bathome" "C:\Documents and Settings\bathome.txt"') do set y=%%x
执行结果却是:第一步变量y获得的值是findstr,第二步变量y获得的值是/i
for语句把那个in后面括号里的内容看成一个字符串了
我想要的结果是:当在bathome.txt中查找到abc字符串时,把包含abc的哪一行字符串赋值给变量y
谢谢!
[ 本帖最后由 hanzinu 于 2009-12-27 19:56 编辑 ]
作者: neorobin 时间: 2009-12-26 22:34
只输出第一个找到的结果, 之后就终止搜索 的代码
- @echo off&setlocal enabledelayedexpansion&cls
- for /f %%x in ('findstr /i /c:"abc" "C:\Documents and Settings\bathome.txt"') do (set y=%%x)&(echo {y}={!y!})&goto endSch
- :endSch
- pause
复制代码
作者: hanzinu 时间: 2009-12-27 19:56 标题: 回复 2楼 的帖子
谢谢了啊,已解决!怪我不明白什么时候该用/f参数。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |