社用端末や仮想デスクトップを使用していると、PATHの編集が許可されていない場合がある。便利なコマンドを自作したとしても、PATHが通っていなければ宝の持ち腐れである。
そこでこの記事では、コマンドプロンプト起動時に一時的なPATHを設定することによって、端末管理者に負担をかけずに自作コマンドを活用する方法を示す。
前提として
あなたの自作コマンド群は、端末管理者が気にしないフォルダ(C:\temp\batなど)にまとめて格納されているものとする。以下では、C:\temp\bat を PATH に追加することにする。
まずコマンドプロンプトを起動する
コマンドプロンプトは起動時に %USERPROFILE% が作業フォルダに設定されている。
C:\User\hogehoge> echo %USERPROFILE%
C:\User\hogehoge
PATHの追加をコマンド化する
%USERPROFILE% に、PATH を設定するコマンドを配置する。init.bat など、入力しやすく既存のコマンドと重複しないファイル名が良い。
C:\User\hogehoge> echo set PATH=C:\temp\bat\;^%PATH^% > init.bat
C:\User\hogehoge> type init.bat
set PATH=C:\temp\bat\;%PATH%
キャレット(^)はエスケープ文字
コマンドプロンプト起動時に init.bat を実行する
次回からコマンドプロンプトを起動するたびに、init を実行するだけで、PATH を通す作業が完了する。
C:\User\hogehoge> init
C:\User\hogehoge> echo %PATH%
C:\temp\bat\;C:\...
ポイントは init.bat が %userprofile% に配置されている点と、bat ファイルは拡張子を省略できる点である。
補足
init.bat の本体を C:\temp\bat に置いておくと、ポータビリティ(持ち運びやすさ)が上がり、端末交換の際などに便利である。具体的には以下の通り。
C:\User\hogehoge> type init.bat
@C:\temp\bat\init.bat
C:\User\hogehoge>
C:\User\hogehoge>
C:\User\hogehoge> type C:\temp\bat\init.bat
@echo off
set PATH=%~dp0;%PATH%
...
...
C:\User\hogehoge>
%~dp0
は、init.bat 本体の格納されているフォルダのパスを示す(変数展開)。
init.bat に、他の初期化コマンドをまとめて記述しておくと更に便利になる。
更に便利とか言いつつ、普段使ってる init.bat は以下のようなシンプルな感じです。
やはり PATH 通すことが一番重要......
@echo off
set PATH=%~dp0;%PATH%
prompt [%username%@%computername%]$G$s
color 3f