Windows の PATH 環境変数の各パスは ” ” (ダブルクオーテーション)で囲まなくても良い ー むしろ囲っちゃダメ

Visual C++コンパイラコマンドラインから起動しようとして、その準備として vcvarsall.bat を実行しようとしてハマったのでメモ。

vcvarsall.bat は cl.exe などの置かれているディレクトリへのパスを環境変数として設定したりするバッチファイルですが、これを実行したところ、以下のようなエラーになってしまいました。

> vcvarsall.bat
"~~~" の使い方が誤っています。

このあと、PATH 環境変数の中身と思わしきものがダーッと表示されてしまい、cl.exe などへはパスが通りませんでした。

Visual Studio に付属の Developer Command Prompt を立ち上げても同じエラーです。

いろいろ調べたところ、"C:\Program Files (x86)\Hoge Fuga\bin" みたいにパスをダブルクオーテーションで囲んだものを指定していて、かつ、その囲まれたパスの中に ( )(丸カッコ) が含まれているときにこのようなエラーになるようです。

カッコが含まれないパスはダブルクオーテーションで囲んであってもエラーにはならないようですが、そもそも PATH 環境変数はセミコロンで区切るのでパスの中に空白が含まれていても問題はなく、ダブルクオーテーションで囲む意味がないので、この際なのでダブルクオーテーションは全部取ってしまいました。


それにしても、Windows の PATH 環境変数は設定しづらいですよね、、、
設定ダイアログを出すまでの手順が多すぎるし、設定ダイアログの UI が最悪です。(どうして一行しか表示できない小さなテキストボックスで編集しないといけないんだ・・・)

Rapid Environment Editor というソフトを使ってみたところ、らくらく編集できました。