コマンドプロンプトから環境変数を設定して、グローバルにアクセスできるようにしたいのですが(例えば、System -> Environment Variablesに行けば表示されるはずです)
setコマンドを使うと、新しいcmdセッションでアクセスできません
set NEWVAR=SOMETHING
echo %NEWVAR%
Related questions:
- Windows で環境変数を編集するのに使えるコマンドラインツールはありますか?
- Windows バッチスクリプトで起動されたシェルに複数の環境変数を設定する
257 Shane 2009-12-06
環境変数をグローバルにアクセスできるようにするには、レジストリで設定する必要があります。を使うだけでお気づきのように
set NEWVAR=SOMETHING
は、現在のプロセス空間に設定しているだけです
this page you can use the setx
コマンドによると
setx NEWVAR SOMETHING
setx
は Windows 7 に組み込まれていますが、古いバージョンでは Windows リソースキット をインストールした場合にのみ利用可能な場合があります
296 ChrisF 2009-12-06
また、”setx var variable /M “を使って、varをユーザレベルではなくシステム環境変数レベルに設定することもできます
注:このコマンドは管理者として実行してください
40 Minh Chau 2014-08-26
setx program "C:\Program Files" /M
ミンチャウの答えのように、ユーザレベルの代わりにシステム環境変数のレベルを設定するための/M
コマンドラインをrestartする(コマンドラインをrestartしないと環境変数が動かない
19 Phan Van Linh 2017-02-08
上記のようにsetx env var [/M]
を使うことができます。もしそれが有効にならない場合は、refreshenv
を使って環境変数を更新することができます。これを行うためにコンピュータや explorer.exe やコマンドプロンプトを再起動する必要はありません
編集: どうやらrefreshenvはWindowsでは自然には使えないようなので、ソースは以下の通りです。https://pastebin.com/1fJqA0pT RefreshEnv.cmd として保存し、PATH 環境変数に含まれるフォルダに置いてください
5 DFSFOT 2018-11-13
システム変数は、CMDとレジストリで設定することができます
一般的に使用されるCMDコードとシステム変数はすべてここに記載されています。CMDを使用してWindowsシステム環境変数を設定する
CMD を開いて Set と入力します
システム変数の値を全て取得します
set javaと入力すると、ウィンドウOSにインストールされているjavaのパスの詳細を知ることができます
4 Himanshu Singh 2017-03-09
また、リモートコンピュータ上で環境変数を設定するためにsetxで/sパラメータを使用している場合、”Remote Registry “サービスがターゲットマシン上で実行されている必要があり、そうしないと “ERROR: The specified operation could not be completed “というメッセージが表示されます
(私はマイクロソフトに、TechNet の setx に関する記事を更新して、この情報を含めるように依頼しました)
1 Tim Bailen 2017-05-18