14
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

コマンドプロンプト起動時にPATHを通す

Last updated at Posted at 2016-01-24

社用端末や仮想デスクトップを使用していると、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 通すことが一番重要......

init.bat
@echo off
set PATH=%~dp0;%PATH%
prompt [%username%@%computername%]$G$s
color 3f
14
14
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
14

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?