[Windows]バッチファイルにて処理対象ファイル内でコメントアウトを扱う
仕事で必要になったのでメモします。 利用したいコマンドが、大量データを扱うにもかかわらずファイル内のコメントをサポートしていなかったら、やっぱり寂しいですよね。そんな時に。
手順としては単純です。
- FINDSTRで正規表現を用いて任意のパターンを含む行を無視してリダイレクト
- リダイレクトして作った中間ファイルを任意のコマンドに入力
以上です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | @echo off
if "%‾1" == "" goto usage
SET VALUE=%1
rem "^#"とマッチする行を無視して中間ファイルを作成
type %1 | findstr /v "^#" > tmp.dat
hoge.exe tmp.dat
pause
goto :eof
:usage
echo Usage: fuga.bat piyo
|
おまけに引数チェックも。
for文でどうやらコメントアウトが扱えるらしいと聞いたのは、もちろんfor文も書き込んで、ぐるぐると処理が回りきったあとのことでした。