コマンドプロンプトのバッチで、現在のバッチファイルが置かれているディレクトリは「%~dp0」で取得することができます。
それぞれの文字が持つ意味は、特にわかっていませんが(笑)、まぁこれで取得できます。
cdでディレクトリを移動できるので、「cd %~dp0」とバッチファイルに書くと、そのバッチファイルのディレクトリへ移動できます。
また、違うドライブに移動する時は、「/d」を「cd」の後に書きます。
以上の2点は、ネットで調べたら出てきたのですが、違うドライブにあるバッチファイルのディレクトリの取得方法は、あまり見かけませんでした。
(もちろん根気よく探したらありましたが)
「/d」でよく見かけるのが、Dドライブへの移動、もしくはDドライブの取得ですが、現在のディレクトリがCドライブで、バッチファイルが常にDドライブにあるとは限りません。USBフラッシュメモリに入れて持ち歩いたら、Eかもしれないし、Fかもしれません。
そこで、取得方法を以下に述べます。単純です。組み合わせるだけです。
「cd /d %~dp0」
これで、バッチファイルがどのドライブに入っていても、移動できます。
僕は、Pythonのファイルとバッチファイルを常に同じフォルダに入れて、デスクトップやらノートパソコンやらを行ったり来たりするので、これを知ってからだいぶ楽になりました。
どのUSBに「sample.py」を入れても、同じフォルダにバッチを作っておけばダブルクリックのみで起動できます。
cd /d %~dp0
python sample.py
もちろん上記の例でsample.pyが動くのは、Pythonがパソコンにインストールされていることが前提ですよ。
コメント