古いバージョンのWindowsでは、コントロールパネルを開き、システムアプレットを選択し、[詳細設定]タブを選択してから、[環境変数]ボタンを押すだけでした。通常のユーザーとして、「システム変数」ではなく「ユーザー変数」を編集できます。
Windows Server 2008 R2では、システムアプレットの[システムの詳細設定]オプションを選択しようとすると、管理者パスワードの入力が求められます。
この直接コマンドラインを使用して、[システムの詳細プロパティ]を開くこともできます。
sysdm.cpl
次に、[詳細設定]タブ-> [環境変数]に移動します
わかった。欲求不満の練習。環境変数を変更するための古いウィンドウメニュートラバーサルパスを残しましたが、管理者のみへのアクセスを制限しました。通常のユーザーとして、変更したい場合は、異なるオプションセットを使用して同じフリギングウィンドウに到達する必要があります。
コントロールパネル-> ユーザーアカウント-> ユーザーアカウント-> 環境変数の変更
ステップバイステップの手順:
「開始」の下で、検索フィールドに「環境」と入力します。システム変数を直接変更するオプションが、スタートメニューにリストされます。
これは、SETX
コマンドを使用してコマンドラインから実行できます。たとえば、一時ファイルを別のディスクに「移動」するには:
SETX TEMP d:\tmp
コマンドラインプロンプトで:
set __COMPAT_LAYER=RUNASINVOKER
SystemPropertiesAdvanced.exe
これで、ユーザー環境変数を設定できます。
デスクトップにgodmodeフォルダーを作成しました。デスクトップに新しいフォルダを作成して、GodModeと呼びます。{ED7BA470-8E54-465E-825C-99712043E01C}フォルダにgodmodeという名前を付け、コンテンツにさまざまな設定オプションを入力します。検索でENVIROと入力するだけです関連する構成オプションを見つけるには、それを開き、[詳細設定]タブでsysdm.cplを開きます。そこから環境変数を変更できます。
3つの方法があります
1)これにより、ユーザー環境変数のGUIエディターが実行されます。 OPが実行したいことを正確に行い、管理者の資格情報を要求しません。
rundll32.exe sysdm.cpl,EditEnvironmentVariables
(ボーナス:これは、Windows VistaからWindows 10のデスクトップおよびWindows Server 2008からServer 2016で機能します。WindowsNT、2000、XP、および2003では機能しません。ただし、古いシステムでは、sysdm.cplをせずに使用できます"、EditEnvironmentVariables"パラメーターを選択し、[詳細設定]タブ、[環境変数]ボタンの順に移動します。
2)コマンドプロンプトからSETXコマンドを使用します。これはsetコマンドに似ていますが、レジストリに保存されている環境を更新します。残念ながら、SETXは組み込みのSETコマンドほど使いやすいものではありません。たとえば、変数をリストする方法はありません。したがって、ユーザーのPATH変数にフォルダーを追加するようなことはできません。 SETは変数を表示しますが、どちらがユーザー変数であるかシステム変数であるかはわかりません。表示されるPATHは両方の組み合わせです。
3)regeditを使用して、HKEY_CURRENT_USER\Environmentに移動します
ユーザーの環境への変更は、そのユーザーに対して現在実行中のすべてのプロセスにすぐには反映されないことに注意してください。 SETを使用すると、変更が表示されないコマンドプロンプトでこれを確認できます。例えば
rem Add a user environment variable named stackoverflow that's set to "test"
setx stackoverflow test
set st
これは、名前が文字「st」で始まるすべての変数を表示する必要があります。ない場合は、「Environment variable st not defined
」と表示されます。コマンドプロンプトを終了し、別のコマンドを開始します。 set st
をもう一度試してみると、
stackoverflow=test
Stackoverflow変数を削除するには
setx stackoverflow ""
変数を削除する場合は、奇妙に見える「SUCCESS: Specified value was saved.
」で応答します。ただし、新しいコマンドプロンプトを開始すると、set st
は、「st」という文字で始まる変数がないことを示します。
(修正-setx stackoverflow ""
が変数を削除しなかったことを発見しました。レジストリ内に空の文字列としてあります。SET
コマンドは、変数がないように解釈します。if not defined stackoverflow echo Not defined
は、定義されていません。)