※ ChatGPTを利用し、要約された質問です(原文:環境変数TEMPについて、設定内容と echo %TEMP% の出力とが異なる原因として考えられるのは?)
環境変数TEMPの設定内容と出力結果の不一致の原因を考える
このQ&Aのポイント
環境変数TEMPの設定内容とecho %TEMP%の出力が異なる原因について、Windows 2003 x64 Editionでの事例を取り上げて考察します。
環境変数TEMPをシステム環境変数として設定し、コマンドプロンプトでecho %TEMP%を実行すると、異なる結果が表示される問題について考えます。
Windows 2003の仕様や特殊な環境設定、レジストリの影響などが原因として考えられます。解決策や確認ポイントについても探求します。
環境変数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とか、いろいろと確認ポイントはあると思うのですが・・・
どなたかピンときた方、よろしくお願いします。
お礼
使ってます! まさにこの事象ですね。 いろいろ検索したのですが、情報にたどりつけませんでした。 asdf24さんありがとうございました!