Windows 8で環境変数を変更する簡単な方法は?[複製]


27

重複の可能性:
PATHおよびその他の環境変数とは何ですか。また、どのように設定または使用できますか?

私はWindows 8で環境変数を編集できることを知っています

Start -> All Apps -> Control panel -> System -> 
    Advanced System Settings -> Advanced -> Environment variables.

しかし、正直なところ、これは途方もなく複雑です。

Windows 8で環境変数を変更する簡単な方法はありますか?

たとえば、PATHに新しいフォルダーを追加するだけの場合、これらのすべての手順を実行するのは本当に面倒です。小さなテキスト入力で長い変数値を編集するのは本当に苦痛だからです。

要件1:変更を保持する必要があります(たとえばset、コンソールで使用すると、コンソールを閉じると変更が失われます)

要件2:新しいWindowsボックスを構成するたびに遭遇する問題の一種であるため、追加のソフトウェアをインストールする必要のないソリューションを希望します。


件名に関する素晴らしい投稿:windows-commandline.com/set-path-command-line
Royi

回答:


32

setおよびsetxコマンドを調べましたか?それらを使用して、永続変数を設定できます。さらに、値は次のログオン後ではなく、すぐに適用されます。

Windows SETコマンドの例

PATH環境変数を出力します。

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar

setコマンドを使用してPATH変数を設定します

C:\Users\Charity>set PATH=%PATH%;C:\epicpath
C:\Users\Charity>

上記のコマンドは現在のウィンドウにのみ適用され、cmdウィンドウが閉じられると変更は失われます。

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar;C:\epicpath

Windows SETXコマンドの例

PATH環境変数を出力します。

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar

setxを使用して環境変数を設定します。

C:\Users\Charity>setx PATH "%PATH%;C:\zombiepoke"
SUCCESS: Specified value was saved.

cmdターミナルを閉じて再度開き、次を実行します。

C:\Users\Charity>echo %PATH%
C:\windows\system32;C:\windows and space;C:\foobar;C:\zombiepoke

二重引用符には注意する必要があります。パス変数に引用符を入れると、何かが壊れる可能性があります。ただし、元の%PATH%に補遺を指定するために必要です。


1
ヒントをありがとう!試しましたsetx PATH=%PATH%;;C:\testが、構文エラーになります:(
jsalonen

2
setxを使用する場合、=記号はありません。setx /を実行しますか?
EBGreen

4
引数「setx」は、ユーザーコンテキストのみで変数を設定しません。システムコンテキストで設定するには、「setx / M」を使用します。「echo%PATH%」は連結されたシステムとユーザーの値を表示するため、これに気付かないと混乱する可能性があります。
ビトゥエル14

この変更を有効にするには、シェルを再起動する必要があることに注意してください。
ダグ

マイナーノート:set path=〜echo %PATH% [ set pathショーもの値PATHEXT]
gerryLowry

10

Windows 8で環境変数を設定します。

を右クリックComputerしてに移動するfile-explorerと、高度なシステム設定にアクセスできますproperties

これは、古いバージョンのWindowsと同じです。ここに示すように、コマンドラインから環境変数を設定することもできます。

PATHおよびその他の環境変数とは何ですか?また、どのように設定または使用できますか?


4

Powershellで変更します。たとえば、PATH変数にフォルダーを追加するには、powershellを開いてから:

$newPath = $env:Path + ';C:\Temp'
[Environment]::SetEnvironmentVariable('Path', $newpath, 'Machine')

それはすべてのユーザーにとってそれを変えるでしょう。コマンドを実行しているユーザーだけのためにそれを変更するには、最後のパラメーターを「User」に変更します。または、このセッションで一時的に変更するには:

$env:Path += ';C:\temp'

すばらしいです!コマンドプロンプトで$ env:Path + '; C:\ Temp'連結をどのように行いますか?ここでのSet&Setxソリューションでは、コマンドプロンプトでパス全体を設定する方法について説明していますが、既存のパスに何かを追加する方法については説明していません。
ジョニーなぜ14年

コマンドプロンプトで既存のパスに何かを追加する方法は次のとおりです。/ Mは、USER変数ではなく、SYSTEM変数を変更するために使用されます。「My Folder」にはスペースが含まれているため、引用符が使用されます。setxPATH「%PATH%; C:\ My Folder」/ M
johny why 14年

コマンドプロンプトを使用する際の問題は255文字までで、システムPATHはそれを超える可能性があります(特にディレクトリを追加する場合)。そのため、Powershellを使用する方法です(間違っている可能性がありますが、Powershellには文字数の制限はないと考えています)。
ジョニーなぜ14年

3

コマンドラインでは非常に簡単です。

set MyVar=HelloWorld

(コマンドラインにアクセスするにcmdは、開始画面から入力します。)

変数を表示するには:

echo %MyVar%

setx変数を永続的に設定するために使用します。構文は少し異なります。こちらご覧になるか、または他のサイトで使用方法をご確認ください。


ええ、私はすでにこれを知っていますが、問題は、この方法で変更を行うと、それらが持続しないことです。つまり、コマンドラインを閉じて再度開くと、変数がデフォルトに戻ります。これを反映して質問を更新しました-申し訳ありません。
-jsalonen

私がsetそれを続けることができるかどうか知っていますか?
jsalonen

1
setxは永続的な変更
-EBGreen

次の再起動まで変数を設定する方法はありますか?それ以外の場合、別のプログラムのセット(PythonやMATLABのOSコマンドなど)を使用すると、プログラムのセッションが開いている限り保持されますか?
ロイ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.