◇環境変数をセットしたい場合

WindowsXPを使っています。
コントロールパネル-システムの環境変数から設定しましたが、
ログオフや再起動しないと反映されないのでしょうか?

ユーザー環境変数やシステム環境変数の違いも影響有るのでしょうか?

AA C:\
PATH %AA%;として、%で括れば、登録済みの環境変数も使えるのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (3件)

変更後に起動する通常のアプリケーションは、ユーザ、システムにかかわらず反映されます。



起動済みのアプリケーションはアプリケーションを再度起動するまで反映されません。

サービスプログラムは、OSを再起動するまで反映されません。

>AA C:\
>PATH %AA%;として、%で括れば、登録済みの環境変数も使えるのでしょうか?


試していただければ分かると思いますが、コントロールパネル-システムでは使用不可能です。
バッチファイル中であれば、
set AA=C:\
set PATH=%PATH%;%AA%

という使い方が出来ます。
    • good
    • 0

XPなら、設定してOKを押した時点で使えるようになります。


コマンドプロンプトが開いていた場合は、プロンプトを一度閉じないと反映されませんが。
    • good
    • 0

多分、環境変数は、起動時に読み込まれることが多いと思いますよ。

    • good
    • 0

このQ&Aに関連する人気のQ&A

このQ&Aと関連する良く見られている質問

Q環境変数TEMPを使用するアプリがアクセスエラー

下記のエラーメッセージが表示されてアプリケーションが動作しないのですが、
Windowsって、環境変数TEMPにアクセスエラーでファイルが書き込めない場合ってあるものなのでしょうか?
また、何が原因でこのような状態になるのでしょうか?

エラー:
TEMP ディレクトリへのアクセスが拒否されました。XmlSerializer を実行している ID '{0}' に、TEMP ディレクトリへのアクセスに必要なアクセス許可がありません。CodeDom では、プロセスが使用しているユーザー アカウントを使用してコンパイルしようとするため、ユーザーが TEMP ディレクトリへのアクセス権を持っていない場合、コンパイルはできません。TEMP ディレクトリの場所を見つけるには、Path.GetTempPath() API を使用してください。
とのエラーが発生します。

環境
.NET Framework2.0(C#/WinForm)
Windows7

補足
TEMPの内容
Path.GetTempPath()で取得すると「C:\Users\hogehoge\AppData\Local\Temp\」
となっており、問題は無さそうです。

テストプログラムのエラー(添付にファイル作成)
System.UnauthorizedAccessException: パス 'C:\Users\hogehoge\AppData\Local\Temp\null.txt' へのアクセスが拒否されました。

以上

下記のエラーメッセージが表示されてアプリケーションが動作しないのですが、
Windowsって、環境変数TEMPにアクセスエラーでファイルが書き込めない場合ってあるものなのでしょうか?
また、何が原因でこのような状態になるのでしょうか?

エラー:
TEMP ディレクトリへのアクセスが拒否されました。XmlSerializer を実行している ID '{0}' に、TEMP ディレクトリへのアクセスに必要なアクセス許可がありません。CodeDom では、プロセスが使用しているユーザー アカウントを使用してコンパイルしようとするため、...続きを読む

Aベストアンサー

エラーメッセージを見る限り、

> 環境変数TEMPにアクセスエラーでファイルが書き込めない

ではなくて、TEMPフォルダに書き込みできないってエラーでは?

> Path.GetTempPath()で取得すると「C:\Users\hogehoge\AppData\Local\Temp\」

のTEMPフォルダを右クリック-[プロパティ]の「セキュリティ」タブで、ID'{0}'というユーザー(?)からの書き込みを許可しているかどうか確認してみては?
見た感じ、ユーザー名:hogehogeのフォルダですから、同じレベルのユーザーにはアクセス許可無い場合はあるかも。

QWindows7で環境変数が追加できない?

Windows7(SP1)で
「コントロールパネル」→「システムとセキュリティ」
「システム」→「システムの詳細設定」→「環境変数」
を開き、新たに変数を追加しても、
コマンドプロンプトの"SET"コマンドを叩いてみると
そこに表示されません。

そういうものなのでしょうか??

Aベストアンサー

添付画像の留意事項は守っていますか?

QC++で、環境変数の読み込み方を教えて下さい(Linux)

Linux(Red Hat Enterprise)環境で、C++でライブラリを作ろうとしていますが、環境変数の受け取り方がわかりません。調べてみたところ、Windows(VC++)のものしか見つけることができませんでした。LinuxのC++で、環境変数を受け取る方法を教えて下さい。

Aベストアンサー

他の方も回答していらっしゃるように、環境変数名がわかっていれば、getenv() で、その環境変数の値が取得できます。ここまでが、標準でできることですね。

Linux なら、putenv()やsetenv()やunsetenv()などの関数が用意されていて、それらの関数で環境変数の追加、変更、取り消しができるでしょう。さらに、以下のように、main() の第3引数でポインタ(envp)を受ければ、そのプロセスで実行時に設定されているすべての環境変数を調べることも、たぶんできるでしょう。

ポータビリティを重要視するなら、getenv() のみを使うべきだと思いますけど。
===== ソース
#include <iostream>
#include <cstdlib>
#include <string>

int main(int argc, char *argv[], char *envp[])
{
for (char **p = envp; *p; ++p) {
std::cout << *p << '\n';

// 環境変数名の切り出し
std::string s = *p;
std::string::size_type i = s.find('=');
if (i == std::string::npos) {
std::cerr << "something wrong\n";
continue;
}

// getenv() による値の取得
std::string ss = s.substr(0, i);
if (const char *v = std::getenv(ss.c_str()))
std::cout << "getenv(" << ss << ")=" << v << '\n';
else
std::cerr << s.substr(0, i) << ": something wrong\n";
}
}
========= 実行結果
MAKE_MODE=unix
getenv(MAKE_MODE)=unix
INFOPATH=/usr/local/info:/usr/share/info:/usr/info:
getenv(INFOPATH)=/usr/local/info:/usr/share/info:/usr/info:
PROGRAMFILES=C:\Program Files
getenv(PROGRAMFILES)=C:\Program Files
…略

他の方も回答していらっしゃるように、環境変数名がわかっていれば、getenv() で、その環境変数の値が取得できます。ここまでが、標準でできることですね。

Linux なら、putenv()やsetenv()やunsetenv()などの関数が用意されていて、それらの関数で環境変数の追加、変更、取り消しができるでしょう。さらに、以下のように、main() の第3引数でポインタ(envp)を受ければ、そのプロセスで実行時に設定されているすべての環境変数を調べることも、たぶんできるでしょう。

ポータビリティを重要視するなら、get...続きを読む

Qwindowsの終了・再起動のショートカットをデスクトップに作る方法

聞いた話ですが、windowsの終了や再起動のショートカットを
デスクトップに作れるそうです。ということは、終了とか再起動のファイル名を実行するショートカットを作ることなのでしょうか?
もしそうでしたらその方法を(ファイル名を)どなたか教えてください
なにかオプションとかがあって複雑なファイルらしいです。

Aベストアンサー

デスクトップを右クリックし、[新規作成]-[ショートカット] をクリックします。
コマンドラインに以下の次の文字列を記入し、「次へ」をクリックします。

シャットダウンの場合 rundll32 Shell32.dll,SHExitWindowsEx 1  と
再起動の場合 rundll32 Shell32.dll,SHExitWindowsEx 2   と
ショートカットの名前に「シャットダウン」「再起動」などを設定し、「完了」をクリックします。
お好みにあわせて、アイコンを変更して下さい。
(Shell32.dll を指定すると、ちょうどいいアイコンがあります。)

以上転載です

参考URL:http://homepage2.nifty.com/winfaq/wme/wmebootshut.html#98

Qパソコン休止からの再起動で無線LANがつながらないことがある

 無線LAN内蔵のNECノートパソコンLavieを使っています。
 最近、パソコンを休止状態から再起動したとき、無線LANが接続状態にならないことが頻発するようになりました。どうやらOFF状態からの起動では問題なさそうです。

 ところで、自宅はマンション内にあり、ほかにも無線LANを利用しているお宅が何戸かあるようで、無線LANが検出するネットワークが自分用のほかに2、3個出ることが多くなりました。
 接続不能が発生する原因になっているのではないかとの疑いを持っていますが、そういうことはあるのでしょうか。またそれに対する対策はあるのでしょうか。お教えいただければありがたいと思います。

 

Aベストアンサー

原因は、ANo.1へ補足されている内容でほほ間違いないと思います。

無線LANについて、丁寧に説明されているサイトがありましたので、
ご参考になれば幸いです。
http://www.atmarkit.co.jp/fwin2k/operation/xp_wirelesslan/xp_wirelesslan_01.html
http://www.atmarkit.co.jp/fwin2k/operation/wirelesswep/wirelesswep01.html
http://www.atmarkit.co.jp/fsys/special/005wireless_abc/index.html

ルーター(親機)と子機の設定方法は、同じ内容でもメーカーによって表現が違いますので、
お使いのメーカーのサポートサイトをご覧ください。

QWordを開こうとすると『環境変数TEMPの設定を確認してください。』とエラーが出る。

wordを開こうとすると『作業ファイルを作成できません。環境変数TEMPを確認してください。』とエラーが出て、wordは一応開くのですが保存ができなくて参っています。
https://support.microsoft.com/ja-jp/kb/2285187
上記のURLにある対処法を二つとも試しましたし、レジストエディタの設定で
Shell Folders
User Shell Folders
のCacheのデータ値に
C:\Users\[ユーザー名]\AppData\Local\Microsoft\Windows\Temporary Internet Files
を入れるのも試しました。
しかし、直るのは一時的だけで、シャットダウンしたり再起動するとまたエラーがでて何度も上記の作業をやり直さないといけなくなります。
シャットダウンや再起動してもエラーが永遠に出なくなる方法は無いんでしょうか?

それと、インターネットオプションを開いた際、閲覧履歴の設定でインターネット一時ファイルの【現在の場所】と言うのが何も書かれてなく空白になっています。これは原因なのでしょうか?

因みにこの事態が起き始めたのは実家にPCを持ち帰って初めて、wordを開こうとした際に発覚しました。実家に帰る前日には異状なく開けました。しかし、wordはインターネットにつないでなくても開けるので、これは関係なさそうですが......。

普段から執筆などで頻繁に使うので早急に解決したいです。本当に参ってます。
ご回答よろしくお願いします。

wordを開こうとすると『作業ファイルを作成できません。環境変数TEMPを確認してください。』とエラーが出て、wordは一応開くのですが保存ができなくて参っています。
https://support.microsoft.com/ja-jp/kb/2285187
上記のURLにある対処法を二つとも試しましたし、レジストエディタの設定で
Shell Folders
User Shell Folders
のCacheのデータ値に
C:\Users\[ユーザー名]\AppData\Local\Microsoft\Windows\Temporary Internet Files
を入れるのも試しました。
しかし、直るのは一時的だけで、シャットダ...続きを読む

Aベストアンサー

No.5の回答者です。

再起動やシャットダウンをすると、インターネット一時ファイルの設定が
元に戻ってしまうということですよね。特定のユーザーで起きているなら
WordやIEの問題以外が原因かもしれませんね。

この問題以外で設定が保存されていないものなどはありませんか?
再起動などをしたときに、スタートメニューのタイルがおかしくなっている
とか、タスクバーの状態が維持されないとかなどはありませんか。

何か邪魔するようなウィルス関係や、ユーザーの設定が保存されない
不具合が起きているのかもしれませんね。
別のバージョンでの原因にJAVA関連のウィルスがあったものが原因で
保存されない不具合が起きているものもあるようです。
http://ameblo.jp/growingdays/entry-10985970352.html
こちら↓は別ドライブにレジストリで指定したもので解決したみたい。
http://ameblo.jp/growingdays/entry-11432889956.html

何が原因なのかは、新しい環境での何かだとは思いますが、再起動で
設定が保存されないのは初めて見る質問なので、私には上記以外での
アドバイスはできないと思います。

再起動などをしなければ問題なく利用できるようなので、レジストリ内容
を書き換えるような何かがあるのと思います。

PCで新規のユーザーを作って、そのユーザーで作業をしてみるとかも
検討してみてはいかが。

No.5の回答者です。

再起動やシャットダウンをすると、インターネット一時ファイルの設定が
元に戻ってしまうということですよね。特定のユーザーで起きているなら
WordやIEの問題以外が原因かもしれませんね。

この問題以外で設定が保存されていないものなどはありませんか?
再起動などをしたときに、スタートメニューのタイルがおかしくなっている
とか、タスクバーの状態が維持されないとかなどはありませんか。

何か邪魔するようなウィルス関係や、ユーザーの設定が保存されない
不具合が起きているのかも...続きを読む

QLinux環境変数設定(putenv?setenv?)

RedHatLinux7.3(2.96-110)、gcc(2.96 20000731)です。
C言語でプログラミングしていますが、環境変数設定がうまくいかず困っています。
下記の2つで試しましたが、どちらも戻り値は正常(0)なのに環境変数には設定されないのです。

その1: nRet = putenv( "HOGE_HOGE_VER=1.0.0" );
その2: nRet = setenv( "HOGE_HOGE_VER", "1.0.0", 1 );

この使い方は間違っているのでしょうか?それと、putenv、setenvの違いはなんなのでしょうか?
ちなみに、既に設定されている環境変数をgetenvすることは、ちゃんとできるのですが。

よろしくお願いします。

Aベストアンサー

こんにちは。

 どこからどこへ設定しようとしていますか?SunのUNIXしか経験はありませんが、プログラムを起動したシェルの環境変数を変えることはできませんよ。プログラムを起動すると、シェルがフォークします。このとき、シェルで設定されていた環境変数はプログラムに引き継がれます(引き継がない設定もあったと思います)。起動されたプログラムからは元のシェルの環境変数を操作できません。


 遠い過去の記憶なので曖昧ですが、確かそのような動作をしていました。

QWindows再起動のショートカットキー?

お世話になります。
Windowsがフリーズしてマウス操作も効かなくなった時(例えばゲーム中に固まってしまったとか)、最終手段としてキーボードの「power」ボタンで電源を切るのですが
これを再起動する方法はあるのでしょうか?
もしくは再起動するショートカットキー等教えて頂けると幸いです。
宜しくお願い致します。

Aベストアンサー

ctrl+Alt+Delete のことでしょうか。
98やMEの場合は、強制終了により再起動を行います。終了できない場合もありますが、この場合は電源オフしかありません。
NTやXPでは、タスクマネージャが起動して、そこでセッションを終了させることが出来ます。全く動かない場合もありますが、この場合は同様に電源オフしかありません。

Qインターネットがつながらない&USB機器を挿すと再起動

昨日まで普通に使えていたデスクトップパソコンですが本日急にネットがつながらなくなりました。(各種ホームページ、メール、メッセンジャーが接続されない)
→コマンドプロンプトで確認したところ192.168.XXX.XXXと通常と変わらず表示
→ネット内のプリンターにて印刷可能
→IEのアドレスで「203.216.227.176(yahoo)」と入力。ページは開くが画像は未表示(×マーク)
→USBメモリー等を挿すと再起動が始まる。
→システムの復元を実行。再起動後復元が出来ませんと表示される。

色々調べましたが、Zone Alarmは使用していないし、システムの復元にsoftware distribution は表示されていますが復元できないし、ウイルスソフト及びファイヤーウォールを無効にしても変わらないし、システム構成(msconfig)サービス等すべて無効にしても変わらないし・・・
ちょっと途方にくれています。アドバイスをお願いいたします。

PC:e-machines J3036
OS:WINXP home sp2
ウイルスソフト:ウイルスキラーゼロ
挿したUSB:A-DATA、GREEN HOUSE、BUFFALO USBHDD など

昨日まで普通に使えていたデスクトップパソコンですが本日急にネットがつながらなくなりました。(各種ホームページ、メール、メッセンジャーが接続されない)
→コマンドプロンプトで確認したところ192.168.XXX.XXXと通常と変わらず表示
→ネット内のプリンターにて印刷可能
→IEのアドレスで「203.216.227.176(yahoo)」と入力。ページは開くが画像は未表示(×マーク)
→USBメモリー等を挿すと再起動が始まる。
→システムの復元を実行。再起動後復元が出来ませんと表示される。

色々調べましたが、Zone Al...続きを読む

Aベストアンサー

大きくわけて2つの可能性があると思う。

 ・マザーボードに障害が発生していて、マザーボード上にチップが乗っているLANやUSBが不安定動作している可能性
 ・マルウェアが既に侵入しており、システム系ファイルがボロボロな状況になっている可能性

まずは、ブルースクリーン画面が出ても再起動しないで止まるようにWindowsの設定を変更しましょう。
(手順が分からないなら、以下を参考に)

 http://support.epsondirect.co.jp/edcfaq/edsnsys_expub.nsf/ContentsID_print/TN100009941

それで、もう一度再現してブルースクリーン画面で止まるかを確認してみてください。
ソフトウェア系の原因ならブルースクリーン画面が出てくる筈です。
(念のためにstopコードをチェックします)
別の方法としては、KnoppixやuBuntuのような別のシステムで起動しても、USBメモリを刺した瞬間に再起動するかでも確認できると思います。
(ハードウェア側が原因だと思われる場合は、サポートに連絡して修理に出しましょう)

大きくわけて2つの可能性があると思う。

 ・マザーボードに障害が発生していて、マザーボード上にチップが乗っているLANやUSBが不安定動作している可能性
 ・マルウェアが既に侵入しており、システム系ファイルがボロボロな状況になっている可能性

まずは、ブルースクリーン画面が出ても再起動しないで止まるようにWindowsの設定を変更しましょう。
(手順が分からないなら、以下を参考に)

 http://support.epsondirect.co.jp/edcfaq/edsnsys_expub.nsf/ContentsID_print/TN100009941

それで、も...続きを読む

Q環境変数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とか、いろいろと確認ポイントはあると思うのですが・・・

どなたかピンときた方、よろしくお願いします。

みなさんこんばんは。
Windows 2003 x64 Editionにて、環境変数TEMPをシステム環境変数にて以下のように設定しています。
TEMP=C:\TEMP

この状態で、コマンドプロンプトを起動し、echo %TEMP% と実行すると、
C:\TEMP\1
と表示されます。
実際に、(どのタイミングでかは定かではありませんが)C:\TEMP\1も作成されていました。

こちらの環境では、ユーザー環境変数では指定していません。
また、システム環境変数の設定は、マイコンピュータ>プロパティ>詳細設定>環境変数 から設定しています。
...続きを読む

Aベストアンサー

ターミナルサービス使ってませんか?
ターミナルサービスを使ってる場合TEMPの下にlogonIDでサブフォルダが作られます。

http://www.microsoft.com/technet/prodtechnol/windowsserver2003/ja/library/serverhelp/a22455e2-5f63-40c1-b41e-cc11bc517078.mspx

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング