• ベストアンサー

TEMPユーザー環境変数の削除について

RAMディスクの有効活用の説明などで、「システム環境変数TEMP、TMPをRAMディスク上のパスに変更しましょう」といった部分がありますが、その部分の説明で「ユーザー環境変数のTEMP、TMPは削除してください」といったことが書かれているのもよく目にします。 システム環境変数のパスを書き換えるのは理解できるのですが、なぜユーザー環境変数の方は削除するのでしょうか? その場合、プログラムがユーザー環境変数のTEMP、TMPを利用する時は問題ないのでしょうか? ユーザー環境変数の方のTEMP、TMPパスもRAMディスク上のパスに変更するのが普通なのではないのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • bardfish
  • ベストアンサー率28% (5029/17766)
回答No.2

優先順位の問題です。 ユーザー環境変数はログインした状態ではじめと使える環境変数。システム環境変数はユーザーがログインしていなくても使える環境変数。 TEMP環境変数がユーザーとシステムで異なっている場合、ログインしてしまうとユーザー環境変数のほうしか取得できなくなってしまうのが一般的。 サービスとして起動するプロセスならシステム環境変数を継続して使用するはずだし、ログインした後ユーザーが任意に起動したアプリケーションの場合はユーザー環境変数を使用します。 つまり、システム環境変数のTEMPがRAMディスクを使用するようになっていても、ユーザー環境変数のTEMPがデフォルトのままだとRAMディスクの恩恵を受けられないということです。 特別な理由がなければ、ユーザー環境変数を削除するかシステム環境変数と同じにしていれば問題ありません。 ただ、環境変数の設定はパス名を手で入力することになるので入力ミスがありえます。 ユーザー環境変数の入力ミスが原因でメーカーサポートとやり取りしても、入力ミスしたことに気づいていなければ不毛ですよね。 そういう不毛な時間を省略するため、ユーザー環境変数を削除するというのは非常に有効だと思いますよ。

matsu79
質問者

お礼

ユーザー環境変数が存在する場合はユーザー環境変数が利用されるのですね。 ユーザー環境変数を削除した場合はシステム環境変数が参照されるとのことなので、RAMディスクを有効活用するためにユーザー環境変数は削除したいと思います。 大変わかりやすい回答をありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • deadend
  • ベストアンサー率62% (23/37)
回答No.1

>ユーザー環境変数の方のTEMP、TMPパスもRAMディスク上のパスに変更するのが普通なのではないのでしょうか? それが普通の設定方法ですョ。 ユーザー環境変数側のTEMP、TMPを削除した場合、それを参照しに行くプログラムでは、どんな不具合が発生しても不思議ではないと思いますが、ただ、普通はユーザー環境変数側のTEMP、TMPが見つからなければ、システム環境変数側のTEMP、TMPを参照しに行くので、まあ、設定して無くても問題は多分起きないでしょう。

matsu79
質問者

お礼

ユーザー環境変数を削除しても問題ないことが理解できました。 ご回答どうもありがとうございます。

すると、全ての回答が全文表示されます。

関連するQ&A