标题: [文件操作] 当for中的["options"] 为变量时,该如何使用? [打印本页]
作者: strong12345 时间: 2009-7-25 13:06 标题: 当for中的["options"] 为变量时,该如何使用?
本帖最后由 pcl_test 于 2017-3-29 21:18 编辑
小弟希望能写个查找批处理当查找某字串后
显示含有某字串的下一行内容
例如 123.txt复制代码
查找 3后 显示出4
查找 2后 显示出3
查找 5后 显示空值
以下式小弟代码- @echo off
- setlocal ENABLEDELAYEDEXPANSION
- echo Search for What String ?
- set /p "str="
- echo.
-
- for /f "tokens=1-2 delims= " %%a in ('f 123.txt /f:"%str%" -s -o:Ftl') do (
-
- for /f "skip=%%b delims=" %%c in ('type "%%a"') do (
- echo %%c
- goto :outloop
- )
-
- )
-
- :outloop
- pause
复制代码
在 skip=%%b 这里错误,他说不能这样用...
ps.本程序中使用了一个名为f.exe 的第3方搜索软件- f 123.txt /f:"%str%" -s -o:Ftl
复制代码
将会输出 ∶ 查找符合完整路径档案名称 {tab} 字串所在行数
作者: terse 时间: 2009-7-25 13:43
- @echo off
- echo Search for What String ?
- set /p "str="
- echo.
- for /f "delims=:" %%a in ('findstr /in "%str%" 123.txt') do set n=%%a
- if defined n (
- for /f "skip=%n% usebackq delims=" %%c in ("123.txt") do set "v=%%c"&goto :outloop
- ) else echo 搜索失败
- :outloop
- if defined v (echo %v%)else echo "空"
- pause
复制代码
作者: strong12345 时间: 2009-7-25 15:28
看来是 for 里面又有for
就不能让["options"]使用变数
可是小弟目前想完成的脚本
目的是从 一个目录包含子目录和当中所有文件
寻找某字串后 并输出下一行...
然后集中输出到一个文件里
我想这样说应该很多人不懂我的意思吧.....
因为这个我目前只能想到用2个for完成
试试看能不能用call 把for跳出来执行
等等在试试看
不过还是感谢楼上大大的解答
[ 本帖最后由 strong12345 于 2009-7-25 16:14 编辑 ]
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |