Windows PowerShellで環境変数を設定しようとしています

Windows PowerShellで環境変数を設定しようとしています

Windows 10 の PowerShell で環境変数を設定しようとしていますが、%systemroot%うまくいきません。

私が試したこととその結果は次のとおりです。

$env:SystemRoot = "C:\Windows"
echo %SystemRoot%
%SystemRoot%

setx SystemRoot "C:\Windows"
SUCCESS: Specified value was saved.
echo %SystemRoot%
%SystemRoot%

何が間違っているのでしょうか?

答え1

PowerShell と DOS の構文が混同されています。 %SystemRoot%は DOS 構文ですが、PowerShell の構文は です$env:SystemRoot

次の例を見れば、その違いが明らかになるでしょう。

ここに画像の説明を入力してください

値の変更は、SystemRootこの 1 つの PowerShell インスタンスにのみ適用され、システム全体には適用されないことに注意してください。

参照: PowerShell で環境変数を操作する方法

関連情報