批处理如何获取指定txt文本某几行中的内容,存入新的文本中?

x: Deposit Energy [MeV]
# e-lower e-upper all r.err
0.0000E+00 2.8000E-02 2.1430E-04 0.0216
2.8000E-02 5.6000E-02 3.5710E-04 0.0167
5.6000E-02 8.4000E-02 3.4570E-04 0.0170
8.4000E-02 1.1200E-01 3.1870E-04 0.0177
# sum over 8.8410E-03
这样的数据类型,如果我需要指定提取 第三列的第3行-6行,即
2.1430E-04
3.5710E-04
3.4570E-04
3.1870E-04

存为一个新的txt文件,如何用DOS命令实现?求教大神。

不清楚你的实际文件/情况,仅以问题中的样例说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI/GB2312,跟要处理的文件放一起双击运行@echo off&cd /d "%~dp0"&mode con lines=5000
rem 从一个指定txt文本文件内提取出指定行中的指定列的内容
set #=Any questions&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "txtfile=指定.txt"
if not exist "%txtfile%" (echo;"%txtfile%" not exist&pause&exit)
for /f "tokens=1-25 delims=: " %%a in ('type "%txtfile%"^|findstr /n .*') do (
    if %%a geq 3 (
        if %%a leq 6 (
            echo;%%d
        )
    )
)
echo;%#% +%$%%$%/%_% %z%
pause
exit

追问

提取第二列该怎么办呢?改了好几遍没有办法提取第二列呢?、如果只有第3-6行的数据能提取第二列吗?谢谢

温馨提示:答案为网友推荐,仅供参考
相似回答
大家正在搜