标题: [文本处理] 求助批处理如何读取指定内容后第4行的内容并输出? [打印本页]
作者: vincentshan 时间: 2019-9-1 11:17 标题: 求助批处理如何读取指定内容后第4行的内容并输出?
我有多个文本文件,我想通过找到指定的内容(唯一性),然后读取指定内容后第4行的内容并输出。举例如下:
这是其中一个文本 截取的内容: ”##17“是唯一的内容,如何截取下面第4行中的NO:847FF0E6
..........
Soft de concatenation:26-14. Concatene le: Ve 07/12/19 a: 11:11:36.
##16
##17
->88
6342 - Tese:17 Mode: Oper:SS
Date: 12/07/2019 - 13:18:58
No:847FF0E6 Pos:00 00 banc T17
Montage : LEM
.........
作者: vincentshan 时间: 2019-9-1 11:20
我自己写的文本无法完成此功能
setlocal ENABLEDELAYEDEXPANSION
for %%a in (C:\Users\qshan\Desktop\testrecord\*.txt) do (
set file=%%a
for /f "delims=" %%i in ('findstr /n "##17" !file! ') do (
set T17t=%%i
set /a T17=%T17t:~0,4%
set Skip=skip=%T17%
for /f "%Skip% delims=" %%b in (!file!) do (
set "Str=%%~b"
)
)
)
pause
请教各位大神,如何解决
作者: zaqmlp 时间: 2019-9-1 13:37
- @echo off
- set info=互助互利,支付宝扫码头像,感谢打赏
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- cd /d "%~dp0"
- for /f "delims=" %%a in ('dir /a-d/b *.txt') do call :loop "%%a"
- echo;%info%
- pause
- exit
- :loop
- set n=0
- for /f "delims=[]" %%b in ('type "%~1"^|find /n "##17"') do set n=%%b
- if %n% equ 0 (goto break)
- set /a m=4+n-1
- for /f "skip=%m% delims=" %%b in ('type "%~1"') do (
- echo;%%b
- goto break
- )
- :break
- exit /b
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |