« For Index To Stepループの途中脱出の判定方法 | トップページ | テキストファイルの何行目から何行目までを切り出すバッチ »

2007年3月 6日 (火)

テキストファイルから、開始文字列~終了文字列の行を抜き出すバッチ

切り出し.CMD 開始文字列 終了文字列 ファイル

@ECHO OFF
SETLOCAL ENABLEDELAYEDEXPANSION
(FOR /F "delims=[] tokens=1*" %%0 IN ('FIND /N /V ""') DO (
IF "!FLAG!"=="1" SET FLAG=2
IF "!FLAG!"=="3" SET FLAG=4
SET "LINE=%%1"
SET "LINE=!LINE:%1=!"
IF NOT "!LINE!"=="%%1" SET FLAG=1
SET "LINE=%%1"
SET "LINE=!LINE:%2=!"
IF NOT "!LINE!"=="%%1" SET FLAG=3
IF "!FLAG!"=="1" ECHO=%%1&rem ※開始行を含む/含まない
IF "!FLAG!"=="3" ECHO=%%1&rem ※終了行を含む/含まない
IF "!FLAG!"=="3" GOTO :EOF ※1区間限り/繰り返し
IF "!FLAG!"=="2" ECHO=%%1
)
)<%3

開始行、終了行を含み、1区間だけ、切り出します。
※の各行をコメントアウトすると、変更できます。

« For Index To Stepループの途中脱出の判定方法 | トップページ | テキストファイルの何行目から何行目までを切り出すバッチ »