BATファイルにドラッグ&ドロップがうまくいかなかったのは実行パスのせいだった
こんな感じのバッチファイルを書いた所…
@echo off call ..\common.bat %1
同じフォルダに置いたファイルをdrag&dropするとうまく動くのに、
別のフォルダにあるファイルをdrag&dropするとうまく動かない。
冷静に良く見たら、バッチの実行パスが変わるんですな。
drag&dropすると、batではなくそのファイルのある場所が実行パスになってしまう。
そのため、callの参照先が違ってたというわけ。
実行パスを必ず置いてあるフォルダにしてくれれば済む話なので、
こうしたら直りました。
@echo off rem カレントディレクトリをこのbatのあるパスにする cd /d %~dp0 call ..\common.bat %1
要件次第ではあるけど、このcdは必ず書く癖をつけてしまったほうが
ほとんどのケースで良いのではないだろうか。少なくとも自分の場合はそう。