• ベストアンサー
  • 暇なときにでも

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

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

共感・応援の気持ちを伝えよう!

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

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

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

その他の回答 (1)

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

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

共感・感謝の気持ちを伝えよう!

質問者からのお礼

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

関連するQ&A

  • Win10の環境変数について誤削除の変数は無いか?

    Win10の環境変数について 設定(歯車アイコン)→システム→詳細情報→右端の関連設定→システムの詳細設定をクリックするとシステムのプロパティ画面が表示され、詳細設定タブ→環境変数(下側にあるアイコン)をクリックし環境変数の画面に入れます。OneDriveを使用しないのでユーザーの環境変数からOneDriveを削除しました。(他のクラウドを使用)ユーザーの環境変数と、下側のシステム環境変数の変数を間違って削除していないか、変数で何か抜けたものが無いか教えてください。Windows10 64bit HOME 20H2正規版エディションです。 ユーザーの環境変数 上からPath、TEMP、TMP システム環境変数 上からNUMBER_OF_PROCESSORS、OS、Path、PATHEXT、PROCESSOR_ARCHITECTURE、PROCESSOR_IDENTIFIER、PROCESSOR_LEVEL、PROCESSOR_REVISION、PSModulePath、TEMP、TMP、USERNAME、windir という並びになっています。

  • ユーザー環境変数

    ユーザー環境変数を、 TEMPとTMPに変えて元々あったものを削除したんですが 削除したあとファイルのインストールなどにエラーがでて出来なくなってしまいました。 (ペンタブレットドライバのインストールなど 何かをインストールする際に毎回でてきて、インストールも出来ずに立ち往生しています。 復元バックアップをしていれば変える前の環境変数に戻すこともできたんですが 復元バックアップもとっておらずどうしようもありません。。 windoxsVistaの、 ユーザー環境変数の初期値の変数と値がもし分かる方がいらしたら教えていただければと思います。

  • 環境変数について教えてください

    ユーザーとシステムのTEMPとTMPとシステムの環境変数の もともと表示されてた値がわからなくなりました どのファイルでしたか教えてください

  • RAMディスクに環境変数を移動する場合・・・

    RAMディスクに環境変数を移動する場合・・・ Gavotte_RAMDiskを使って6GBの物理メモリから OS管理外の2.74GBをRAMディスクにして使用してます。 今回、Windowsの裏技的な雑誌に掲載されていた 「一時ファイルをRAMディスクに移動する」と言う物を 試してみようと思ったのですが、環境変数(TEMP,TMP) にはユーザーの物とシステムの物二つありますが 両方ともRAMディスク(R:¥TEMP)でいいのでしょうか? ちなみに、Gavotte_RAMDiskはRAMディスク中に 起動のたびに自動で“TEMP”フォルダを作成してくれてます。 よろしくお願いします。

  • 環境変数TEMPについて、設定内容と echo %TEMP% の出力とが異なる原因として考えられるのは?

    みなさんこんばんは。 Windows 2003 x64 Editionにて、環境変数TEMPをシステム環境変数にて以下のように設定しています。 TEMP=C:\TEMP この状態で、コマンドプロンプトを起動し、echo %TEMP% と実行すると、 C:\TEMP\1 と表示されます。 実際に、(どのタイミングでかは定かではありませんが)C:\TEMP\1も作成されていました。 こちらの環境では、ユーザー環境変数では指定していません。 また、システム環境変数の設定は、マイコンピュータ>プロパティ>詳細設定>環境変数 から設定しています。 レジストリエディタ内でも、C:\TEMP として保存されていることは確認しています。 なぜ、echo %TEMP% を実行すると"\1"が追加されるのか、原因がわかる方いらっしゃいませんか。 もしくは、ここをチェックしてみたら?というアドバイスでも助かります。 ちなみに、コマンドプロンプトで set TEMP=C:\TEMP と実行しておくと、次に echo %TEMP% を実行した結果は C:\TEMP となり、\1はつきませんでした。 また、新しくユーザーを作成してそのユーザーでログオンしたところ、echo %TEMP% の結果は C:\DOCUME~1\<ユーザー名>\LOCALS~1\Temp\2 となりました。 このユーザーでは環境変数類は変更しておらず、ユーザー環境変数にてデフォルトで以下のように設定されています。 %USERPROFILE%\Local Settings\Temp OSのセットアップは当方で実施していないため、 Windows 2003の仕様なのか(x64だから??)、 当方の環境の特殊な設定なのかの判断がついていません。 特殊な設定といっても、Windowsでレジストリに登録されている環境変数をさらに上書きする設定がどこで行われているのか、さっぱり見当つかない状況です。 UNIXなら/etc/environmentとか.loginとか.cshrcとか、いろいろと確認ポイントはあると思うのですが・・・ どなたかピンときた方、よろしくお願いします。

  • ユーザー環境変数

    自分のユーザー環境変数をみてみたら 前に削除してしまったのか欄には PATH しかありませんでした。 欄に PATH しかないとプログラミングをすることはできないでしょうか?

  • 環境変数TMPとTEMPの関係

    NT4およびW2Kでは、環境変数TMPとTEMPがデフォルトで同じ内容が登録されているようですが、これらはどういう関係なんでしょうか? それぞれに異なる内容をセットして、いくつかアプリケーションを動作させたところ、TEMPではなく、TMPが使用されていました。 "TEMPは歴史的な理由で存在するだけで、基本はTMP"と想像しているのですが…

  • 環境変数の再帰展開について

    環境変数の中で環境変数を使用したときに、 こちらの思ったように文字列が展開されません。 例. システム環境変数 SystemDrive=C: WORK_PATH=%SYSTEMDRIVE%\temp PATH=%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem ユーザー環境変数 PATH=%WORK_PATH%;%PATH% こんな感じでセットされている場合、 コマンドプロンプトでset PATHした場合の結果が異なります。 Vistaでは C:\temp;C:\WINDOWS~ と展開されますが、 Windows XP環境では %SYSTEMDRIVE%\temp;C:\WINDOWS~ と、 %SYSTEMDRIVE%の部分がそのままになってしまいます。 Windowsの環境変数には2種類の属性があり、 上記の環境変数を登録する際は"展開可能"属性にしました。 またレジストリの"Command Processor\EnableExtensions" も1になっていることを確認しています。 ちなみにset WORK_PATHとしたときは、 両方の環境で C:\temp と表示されることから、 環境変数の再帰展開がうまく機能していないと思われます。 XP環境でもVista環境と同じように環境変数の再帰展開をすることは可能でしょうか?

  • 環境変数について

    環境変数というのが何なのか、あまりピンときません。環境変数を設定するときに書いてあるTMPとかTEMPとか書いてるのはどういう意味なんでしょうか?どうか教えてください。よろしくお願いしますm(__)m

  • 環境変数TEMPの設定変更について

    皆さま、よろしくお願いいたします。 現在、環境変数TEMPとTMPを内蔵の独立したDドライブのHDDに設定しています。 理由はC・SSDの容量が120GBのウインドウズ10では少ないSSDでした。最近、SSDを512GBに交換いたしました。環境変数TEMP、TMPの設定を既定のCに戻すにはどのようにしたら良いでしょうか?ご教示のほど、よろしくお願いい申し上げます。