关于批处理FOR/F 的问题。

如何使用FOR/F抽取文本中,特定的某几行内容,使用delims分割,然后再使用tokens,这个方法是抽取第几列,直到最后的吧。假如,文本内容为123423453456... 如何使用FOR/F抽取文本中,特定的某几行内容,使用delims分割,然后再使用tokens,这个方法是抽取第几列,直到最后的吧。
假如,文本内容为
1 2 3 4
2 3 4 5
3 4 5 6
4 5 6 7
(结束)
我怎么做才能只选择出第二行,第三行的第三个项目呢。
如果,不特定指定读第几行到第几行,读取的时候,如果遇到(),就退出,这样的话怎么做呢。
感谢下面2位的回答。
展开
 我来答
xq1850
2012-11-05 · TA获得超过3790个赞
知道大有可为答主
回答量:3155
采纳率:76%
帮助的人:1561万
展开全部
假设原文本为1.txt,结果输出到2.txt
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1-4 delims= " %%a in (1.txt) do (
set /a no+=1
set ca=%%c
if !no! equ 2 (echo !ca!>>2.txt) else if !no! equ 3 (echo !ca!>>2.txt) else echo %%a>nul
)
更多追问追答
追问
如果,不特定指定读从第几行到第几行,读取的时候,如果遇到(),就退出,这样的话怎么做呢。
感谢您的回答
追答
@echo off&setlocal enabledelayedexpansion
for /f "tokens=1-4 delims= " %%a in (1.txt) do (
set aa=%%a%%b%%c%%d
set bb=!aa:^(=!
if !aa!==!bb! (echo.>nul) else exit
set /a no+=1
set ca=%%c
if !no! equ 2 (echo !ca!>>2.txt) else if !no! equ 3 (echo !ca!>>2.txt) else echo %%a>nul
)
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
水泥石板
2012-11-05 · TA获得超过266个赞
知道小有建树答主
回答量:277
采纳率:0%
帮助的人:83.9万
展开全部
提取二三行三列,这个问题很简单。

不指定第几行第几列,遇到括号退出的方法:

@echo off & setlocal enabledelayedexpansion
for /f "delims=" %%i in (1.txt) do (
set "a=%%i"
set "b=!a:^(=!"
if "!a!" neq "!b!" goto end
echo !a!>>2.txt
)
:end
exit

行不行?把所有文本输入到2.txt,遇到(就退出
我是参考xq1850同学的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
hnsz2k
2012-11-05 · TA获得超过1582个赞
知道大有可为答主
回答量:1360
采纳率:100%
帮助的人:1453万
展开全部
取第二行第三个项目

for /f "tokens=3 delims= " %%f in ('more +1 text.txt') do (echo %%f
goto :EOF)
更多追问追答
追问
如果,不特定指定读第几行到第几行,读取的时候,如果遇到(),就退出,这样的话怎么做呢。
感谢您的回答
追答
for /f "tokens=1,3 delims= " %%f in (text.txt) do (if "%%f" EQU "(" goto :EOF
echo %%g)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式