【BAT】BATファイルでヒアドキュメントを実現するBAT
概要
BATファイルでヒアドキュメントっぽいことを実現します。
これを使えばいろいろと便利になりそうです。
※実装には、やんごとなき理由でJScriptを使用しています。
(DOS-BAT の for /f で回すと、空行が間引かれてしまうというアレの所為)
使い方
BATファイル内の、到達できない場所(exitやgoto :eofの後ろなど)にヒアドキュメントっぽいもの(ニアドキュメント)を記述します。
ニアドキュメントの範囲は、任意の文字に「>」(始端)と「<」(終端)を付与し指定します。
rem 始端・終端をあらわす文字列として「HERE」を使用する場合 HERE> 1 2 3 <HERE
実際に出力する際は、「NearDoc.bat」をCallし、
- 第一引数 … 自BATのパス
- 第二引数 … ヒアドキュメントの区切り文字
を渡します。
Call NearDoc.bat "%~0" HERE
標準出力に、「HERE>」~「<HERE」の間に記述されている内容が出力されます。
1 2 3
標準出力に出るので、パイプで繋いでsortやらfindstrやらでごにょごにょできます。
また、区切り文字さえ被らなければ、ニアドキュメントは複数記述可能です。
(テストコードでも複数を使用しています)