[解決済み] Windowsのコマンドプロンプトから環境変数を更新するコマンドはありますか?
質問
環境変数を変更したり追加したりすると、コマンドプロンプトを再起動しなければなりません。 CMDを再起動せずにこれを実行するコマンドはありますか?
解決方法を教えてください。
vbsスクリプトでシステム環境変数を取り込むことはできますが、実際に現在の環境変数を変更するにはbatスクリプトが必要なので、これを組み合わせて解決します。
という名前のファイルを作成します。
resetvars.vbs
このコードを含んで、パスに保存してください。
Set oShell = WScript.CreateObject("WScript.Shell")
filename = oShell.ExpandEnvironmentStrings("%TEMP%\resetvars.bat")
Set objFileSystem = CreateObject("Scripting.fileSystemObject")
Set oFile = objFileSystem.CreateTextFile(filename, TRUE)
set oEnv=oShell.Environment("System")
for each sitem in oEnv
oFile.WriteLine("SET " & sitem)
next
path = oEnv("PATH")
set oEnv=oShell.Environment("User")
for each sitem in oEnv
oFile.WriteLine("SET " & sitem)
next
path = path & ";" & oEnv("PATH")
oFile.WriteLine("SET PATH=" & path)
oFile.Close
このコードを含む別のファイル名resetvars.batを、同じ場所に作成します。
@echo off
%~dp0resetvars.vbs
call "%TEMP%\resetvars.bat"
環境変数を更新したい場合は、以下のように実行するだけです。
resetvars.bat
アポロジクス :
この解決策を考えるにあたって、私が抱いた主な問題は次の2つです。
a. vbsスクリプトからコマンドプロンプトに戻して環境変数をエクスポートする簡単な方法が見つからなかったので
b. 環境変数 PATH は、ユーザーとシステムの PATH 変数を連結したものです。
ユーザーとシステムの間で競合する変数についての一般的なルールがよくわからないので、特別に扱われるPATH変数を除いて、ユーザーがシステムを優先するように選択しました。
vbsから変数をエクスポートする際の問題を回避するために、奇妙なvbs+bat+temporary batのメカニズムを使用しています。
備考 : このスクリプトは、変数を削除しません。
これはおそらく改善されるでしょう。
追加された
あるcmdウィンドウから別のウィンドウに環境をエクスポートする必要がある場合、このスクリプトを使用します(仮に
exportvars.vbs
):
Set oShell = WScript.CreateObject("WScript.Shell")
filename = oShell.ExpandEnvironmentStrings("%TEMP%\resetvars.bat")
Set objFileSystem = CreateObject("Scripting.fileSystemObject")
Set oFile = objFileSystem.CreateTextFile(filename, TRUE)
set oEnv=oShell.Environment("Process")
for each sitem in oEnv
oFile.WriteLine("SET " & sitem)
next
oFile.Close
実行
exportvars.vbs
をエクスポートしたいウィンドウで
から
をエクスポートしたいウィンドウに切り替えてください。
へ
とタイプしてください。
"%TEMP%\resetvars.bat"
関連
-
[解決済み] マイクロソフト既知のDLL
-
[解決済み] terasso libraryでUnknown errorが発生し、vbaを使用してteradataに接続できない。
-
[解決済み] Windowsのコマンドラインに'which'に相当するものはありますか?
-
[解決済み] Node.jsで環境変数を読み込む
-
[解決済み] コマンドラインからすべての環境変数をリストアップ
-
[解決済み] Windows PowerShellの環境変数を設定する
-
[解決済み] キーと値のペアのファイルから環境変数を設定する
-
[解決済み] WindowsのPATH環境変数にディレクトリを追加する
-
[解決済み] Windowsでコマンドラインから空のファイルを作成するには?
-
[解決済み】Windowsのコマンドプロンプトでエイリアスを使用する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】mavenの.m2フォルダの欠落
-
[解決済み] どのような場合に0x40010004のコードでプログラムが終了するのでしょうか?
-
[解決済み] .batファイルのアイコンをプログラムで変更するには?
-
[解決済み] Ctrl Alt F8はディスプレイを切り離す?
-
[解決済み] 旧バージョンのRubyを削除する(Windowsの場合)
-
[解決済み] WPCups.exeとは何ですか?[クローズド]です。
-
マイクロソフトのエラーコード
-
[解決済み] Cygwinを使用してWindowsにsshpassをインストールする方法は?
-
[解決済み] Windowsネイティブアプリケーションを作るには?[クローズド]
-
[解決済み] Windows コマンドインタプリタ(CMD.EXE)は、どのようにスクリプトを解析するのですか?