私の目標は、css ファイルなどのファイルから行自体 (可能であれば) または特定の行のテキストを削除するバッチ スクリプトを作成することです。
cssファイル
line
199
200 /* K2START */
201 .foo { width: 1 }
202 .bar { width: 2 }
203 /* K2END */
204
200
行と行の間のテキスト203
(コメント部分を含む)を削除したい。他の人がファイルにテキストを追加する可能性があるため、行番号が変更される可能性があります。したがって、私のオプションは、テキストを見つけてから、それらの行の間のテキストK2START
をK2END
削除することです。
バッチ スクリプト
これ"200: /* K2START */"
は素晴らしいです。しかし、行番号の値「200」を取得して使用する方法がわかりません。
findstr /N "K2START" "%K2DIR%\K2 smartforms Designer\Styles\Themes\Sun.css"
また、css ファイルの各行をループしてループを練習しようとしましたが、どういうわけか css ファイルのテキストの各行に入る代わりに、パス文字列全体 (つまり"%K2DIR%\K2 smartforms Designer\Styles\Themes\Sun.css"
) がトークンとして扱われます。
FOR /F "tokens=*" %%G IN ("%K2DIR%\K2 smartforms Designer\Styles\Themes\Sun.css") DO (
@echo %%G
)