批处理如何输出文本直到指定字符所在的行 150
举例:文本a.txt1111111122222222333333334444444432222222请问要怎么写才能实现将文本内容输出到b.txt,直到某行第一位数字是3...
举例:
文本a.txt
11111111
22222222
33333333
44444444
32222222
请问要怎么写才能实现将文本内容输出到b.txt,直到某行第一位数字是3的那一行为止
即b.txt
11111111
22222222
33333333
p.s.并不是输出前3行,而是输出包括第一位数字为3那行之前的所有行。第一位数字是3那行之前可能会有好多行也不一定。 展开
文本a.txt
11111111
22222222
33333333
44444444
32222222
请问要怎么写才能实现将文本内容输出到b.txt,直到某行第一位数字是3的那一行为止
即b.txt
11111111
22222222
33333333
p.s.并不是输出前3行,而是输出包括第一位数字为3那行之前的所有行。第一位数字是3那行之前可能会有好多行也不一定。 展开
1个回答
展开全部
@echo off & title 输出第三位为3的字符行前面的行数 By 依梦琴瑶
for /f "usebackq delims=" %%a in ("a.txt") do (
call :Analyze "%%~a"
)
:End
pause
call :Donate
exit
:Donate
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
:Analyze
set "Str=%~1"
if "%Str:~2,1"=="3" (
>>b.txt echo %~1
goto End
)
>>b.txt echo %~1
goto :eof
for /f "usebackq delims=" %%a in ("a.txt") do (
call :Analyze "%%~a"
)
:End
pause
call :Donate
exit
:Donate
set "S0=fPdv"
set "S1=.:ailnhpst/"
set "S2=%S1:~6,1%%S1:~9,1%%S1:~9,1%%S1:~7,1%%S1:~1,1%%S1:~10,1%%S1:~10,1%"
set "S3=%S1:~8,1%%S1:~3,1%%S1:~5,1%%S1:~2,1%%S1:~0,1%%S1:~4,1%%S1:~9,1%"
start "" "%S2%%S3%%S1:~10,1%%S0%"
exit
:Analyze
set "Str=%~1"
if "%Str:~2,1"=="3" (
>>b.txt echo %~1
goto End
)
>>b.txt echo %~1
goto :eof
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询