Windows のバッチファイルを使った小技

バッチファイル

バッチファイルでタスクを自動化する。

バッチファイルの保存場所でコンソールを開く

作業ディレクトリに,以下の内容のバッチファイルを作る。

cmd

単純にコマンドプロンプトを呼び出す。ダブルクリックでコマンドプロンプトを開けて、保存したディレクトリに移動した状態になる。

改良版

Eclipse など別の環境から呼び出すとカレントディレクトリがバッチファイルの保存場所と異なる場合がある。

@echo off
cd "%~dp0"
cmd

変数%0で自分自身 (引数) の情報が手に入る。オプションでパスだけ取り出せる。

外部ディスク内のプログラムに PATH を通す

USBメモリなど外部ディスク内に環境を構築し、PATH を実行時に自動的に追加する。ディスクのROOT ディレクトリに以下のようなバッチファイルを作成しておく。

@echo off
setlocal
PATH=%PATH%;./Program/MinGW/bin;
cmd
endlocal

自分のPC以外で作業する場合に役立つ。バッチファイル内で局所的にPATHを変更するので、終了すればPATHは元通りになります。

ファイルをドロップしてバッチファイルに渡す

バッチファイルにドロップすることで、ファイルを引数として渡す方法です。クリックでバッチファイルを開くとカレントディレクトリはバッチファイルを保存した場所になるが、ファイルをドラッグ&ドロップして起動すると cmd のホームになる。

@echo off
setlocal
rem PATHが不要なら以下の一行を削除
PATH=%~dp0\PATH;%PATH%
rem バッチファイルの保存場所に移動
cd /d %~dp0
notepad %1
endlocal

引数で %0 を参照すると自分自身のファイル名を参照できる。フルパスで引き取れるので、cd コマンドで移動すればローカル環境のPATHも追加できる。USBメモリの中に環境を構築して、ファイルをドラッグ&ドロップすればコンパイルをするバッチファイルなどが作れる。PC に詳しくない人も使える自動タスクに出来る。