potappo's blog

日々の雑感などを書くブログ。

Windowsの環境変数設定メモその1

旧サブブログ「Life is Try and Error」(2013 年 3 月 31 日で閉鎖予定)の過去記事(2006-10-30 掲載)の再掲です。日付順に掲載していないのは気にしない方向で。
XPではGUIで設定できるというのは有名な話(参考:Windows TIPS -- HINT:環境変数を変更する)。だけども、コントロールパネル→システム→詳細設定→環境変数とクリックし続けるのは面倒くさい。コマンドプロンプトでsetコマンドを使えば、そのコマンドプロンプト内だけで有効となる一時的な環境変数を設定することができる。「set /?」を参照すれば、だいたいのことはわかるのだけど、使用方法を備忘録としてメモ。

例えば、新たに環境変数を設定するならば、以下のような感じ。

C:\>set USER=potappo

C:\>echo %USER%
potappo

既にある環境変数に新たな値を追加するには、その環境変数を参照すれば良い。参照しなければ、上書きされる。空文字列を指定すると、その環境変数を削除することができる。

C:\>set TESTPATH=C:\test

C:\>echo %TESTPATH%
C:\test

C:\>set TESTPATH=%TESTPATH%;C:\test2

C:\>echo %TESTPATH%
C:\test;C:\test2

C:\>set TESTPATH=C:\test3

C:\>echo %TESTPATH%
C:\test3

C:\>set TESTPATH=

C:\>echo %TESTPATH%
%TESTPATH%

一部分の置き換えもできる。置換対象の大文字小文字は区別されないし、正規表現も使えないが、ワイルドカード「*」を使って、対象範囲を指定することができる。削除するには、空文字を指定すれば良い。なお、この方法で環境変数の全部分を削除するために「*」は使えず、内容を直接指定指定する必要がある*1

C:\>set TESTPATH=C:\test_a;C:\test_b;C:\test_c

C:\>echo %TESTPATH%
C:\test_a;C:\test_b;C:\test_c

C:\>set TESTPATH=%TESTPATH:C=D%

C:\>echo %TESTPATH%
D:\test_a;D:\test_b;D:\test_D

C:\>set TESTPATH=%TESTPATH:*b=D:\test_C%

C:\>echo %TESTPATH%
D:\test_C;D:\test_D

C:\>set TESTPATH=%TESTPATH:;D:\test_D=%

C:\>echo %TESTPATH%
D:\test_C

C:\>set TESTPATH=%TESTPATH:*=%
=%
 の使い方が誤っています。

C:\>set TESTPATH=%TESTPATH:D:\test_C=%

C:\>echo %TESTPATH%
%TESTPATH%

その2「wshでもできるよ編」に続く。

同日19:45頃追記

ウィンドウズの環境変数メモ(Hishidama's Windows Environment Memo)には、ここでは扱わなかったこと(スペースの扱いだとか、/aオプションだとか)を含めた解説があって、非常に参考になるのでおすすめ。ここのサイト内には、バッチファイルの書き方の概要だとか、DOSにおけるコマンド実行の基礎的な解説があって、ちょっと感動した。よくあるコマンドプロンプト関連のサイトだと、基本的なコマンドの解説をして、あとは少しだけ触れて終わりということが多い(私が見てきた限り)のだが、ここは割と実践的な内容にまで踏み込んでいる印象で、個人的には「お役立ち」だと思う。UNIXとの比較もあるので、UNIX(系OS)を使う足掛かりにもなりそう。

*1:当然、「set 環境変数=」を使った方が早い