PATH システム環境変数の長さ制限

その他インテル® INDEインテル® Parallel Studio XEインテル® System Studio

この記事は、インテル® デベロッパー・ゾーンに公開されている「Limitation to the length of the System PATH variable」(https://software.intel.com/en-us/articles/limitation-to-the-length-of-the-system-path-variable) の日本語参考訳です。


PATH システム環境変数の長さ制限

概要: この記事は、PATH システム環境変数で使用可能な文字長の制限、オーバーフローの兆候、および回避方法を示します。

詳細: Microsoft* Windows* マシンでは、PATH 環境変数のサイズの上限は 2047 文字 (Microsoft Windows* 7 以降では 4095 文字に変更可能。ただし、システムの再起動が必要。) に制限されています。

この制限は、コマンドライン、ほかのプロセスによって継承される個々の環境変数 (PATH 変数など)、およびすべての環境変数の拡張に適用されます。コマンドプロンプトでバッチファイルを実行する場合は、バッチファイルの処理にもこの制限が適用されます。

PATH システム環境変数のオーバーフローの兆候

PATH
サイズ
Windows* XP/
Windows Server* 2003
Windows* 7/Windows* 8/
Windows Server* 2008

2048
バイト
未満

問題なく動作する

問題なく動作する

2048
バイト
以上
4096
バイト
未満

  1. コマンドプロンプトで PATH が空になる
    (echo %PATH%)
  1. コマンドプロンプトで PATH が空になる
    (echo %PATH%)
  1. フルパスを指定しないとコマンドプロンプトからアプリケーションを起動できない (notepad.exe)
  1. フルパスを指定しないとコマンドプロンプトからアプリケーションを起動できない (notepad.exe)
  1. フルパスを指定するとコマンドプロンプトからアプリケーションを起動できる
    (c:\windows\system32\ notepad.exe)
  1. フルパスを指定するとコマンドプロンプトからアプリケーションを起動できる
    (c:\windows\system32\ notepad.exe)
  1. Windows* エクスプローラーは問題なく動作する
  1. Windows* エクスプローラーは問題なく動作する
  1. [コントロール パネル] > [システム] > [システムの詳細設定] を起動できる
  1. [コントロール パネル] > [システム] > [システムの詳細設定] を起動できない
  1. コマンドプロンプトから [システムの詳細設定] を起動できる:
    %WinDir%\System32\ SystemPropertiesAdvanced.exe
  1. コマンドプロンプトから [システムの詳細設定] を起動できる:
    %WinDir%\System32\ SystemPropertiesAdvanced.exe
  1. [システムの詳細設定] で PATH を含むすべての環境変数を表示できる
  1. [システムの詳細設定] で PATH を含むすべての環境変数を表示できる
  1. システムの再起動後、PATH が空ではなくなるが、2048 文字に切り捨てられる
  1. システムの再起動後、PATH が空ではなくなり、正常に動作する

4096
バイト
以上

  • 上記の 1、2、3、4、5、6 と同じ
  • 上記の 1、2、3、4、5、6 と同じ
  • [システムの詳細設定] で PATH を含むほどんとの環境変数が表示されない
  • [システムの詳細設定] で PATH を含むほどんとの環境変数が表示されない
  • システムの再起動後、PATH が空ではなくなるが、2048 文字に切り捨てられる
  • システムの再起動後、PATH が空ではなくなるが、4096 文字に切り捨てられる

回避方法

  1. システムを再起動します。システムの再起動後、PATH は空ではなくなりますが、2047 文字 (または 4095 文字) に切り捨てられることがあります。
  2. システムを再起動しても問題が解決しない場合は、次の操作を行ってください。
    1. c:\windows\system32\regedit.exe を起動します。
    2. レジストリー エディターで “HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment” に移動します。
    3. “Path” キーから不要なディレクトリーを削除します。
    4. システムを差起動します。

注: 例外的にシステムを起動できないことがあります。その場合は、次の操作を行ってください。

  1. セーフモードでログインします。
  2. コマンドプロンプトで次のコマンドを実行します。

reg add “HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment” /v Path /t REG_EXPAND_SZ /d ^%SystemRoot^%\system32;^%SystemRoot^% /f

訳者注: インテル® ソフトウェア開発製品では、他の開発ツールとインテル® Parallel Studio XE、インテル® System Studio、インテル® INDE など複数のスイート製品を同じシステムにインストールするとこの制限による問題が生じる可能性があります。

コンパイラーの最適化に関する詳細は、最適化に関する注意事項を参照してください

タイトルとURLをコピーしました