Re:Re:here:「ここにあとで来る」ためのバッチファイルを作るスクリプト

id:fumokmm さんの以下のエントリーのバッチファイル版を作ってみた。

Re:here:「ここにあとで来る」ためのバッチファイルを作るスクリプト

echo off
set HERE_BATCH="%~dp0"

if "%1"=="" (
   for %%f in ( %HERE_BATCH%*.bat ) do if /I not %%~nxf==here.bat echo %%~nf
   for %%f in ( %HERE_BATCH%*.bat ) do if /I not %%~nxf==here.bat exit /b
   echo Usage: here project-code 
   echo Example: here proj
) else (
   if "%1"=="here" pushd %HERE_BATCH% & exit /b
   echo echo off>%HERE_BATCH%%1.bat
   echo pushd %CD%>>%HERE_BATCH%%1.bat
)

正直 groovyという処理系はここで初めて知った。なんとなく読める内容なので推測してバッチファイルで書いてみたが、若干ニュアンスが違っているかもしれない。here hereとやっちゃうと自分自身を書き換えてしまうので、here hereとした場合は here.bat のある場所に移動することにした。

here.bat と同じディレクトリに「あとで来るバッチ」を作るので、here.batをどこか独立したディレクトリにいれてPATHを切っておくのが良いと思われる。

ご紹介した id:fumokmm さんのエントリーの元ネタは、2006-06-01 だそうです。