文件中某些行为特定字符,比如“下一行为输出结果”,我想将文件中这一行的下一行(也就是输出的结果)输出,这样的文件有很多个,怎么用批处理编程?
请教各位大侠,谢谢!
请教各位大侠,谢谢!
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off&setlocal ENABLEDELAYEDEXPANSION
for %%i in (*.txt) do (
title.处理文件:%%i
for /f "usebackq delims=" %%a in ("%%~i") do (
@echo off
if "!pnext!" equ "true" echo.%%a
echo %%a|find "下一行为输出结果">nul&&set PNext=true||set pNext=false
)
)
pause
@echo off&setlocal ENABLEDELAYEDEXPANSION&set "flag=%~1"
echo "%~1"|findstr "">nul||(echo 请输入数字参数!&exit/b)
for %%i in (*.txt) do (
set/a pNext=0
title.处理文件:%%i
for /f "usebackq delims=" %%a in ("%%~i") do (
@echo off&if !pnext! GTR 0 echo.%%a
echo %%a|find "下一行为输出结果">nul&&set/a PNext=!flag!||set /a pNext-=1
)
)
pause
Originally posted by cjtielu at 2010-8-11 19:19:
我改了几下,没能达到我想要的目的。就是简单的输出结果到文件都没改出来。
echo %%a|find "下一行为输出结果">nul&&set PNext=true||set pNext=false
主要是这行代码不明白。
@echo off&setlocal ENABLEDELAYEDEXPANSION&set "flag=%~1"
echo "%~1"|findstr "">nul||(echo 请输入数字参数!&exit/b)
for %%i in (*.txt) do (
set/a pNext=0
title.处理文件:%%i
for /f "usebackq delims=" %%a in ("%%~i") do (
echo %%a|find "下一行为输出结果">nul&&set/a PNext=!flag!||set /a pNext-=1
if !pnext! equ 0 echo.%%a
)
)