-
Notifications
You must be signed in to change notification settings - Fork 0
MS_EnvironmentVariables
nishi_74322014 edited this page Aug 3, 2026
·
3 revisions
-
TOP > インフラストラクチャ > Windows > Windows OSの基礎的トピック
- 環境変数の設定方法
- プロキシの設定方法
以下の方法がある
- レジストリを使用する方法(レジストリの設定方法)
- Win32APIを使用する方法
- WMIを使用する方法
- Microsoft Windows Installer(
MS_WindowsInstaller.md)を使用する方法
SET、SETXがあるので、コチラも注意する
SETコマンドで設定した変数の値は、
- そのコマンドプロンプト内(およびそこから起動したプロセス)でのみ有効
- 別のプロセスやユーザからは参照できないし、変更することもできない。
SETXコマンドで設定した変数の値は、
- 既定ではユーザー環境変数(レジストリ)に設定される。
- 環境変数設定なので、読み込みにはプロセスの再起動が必要になる。
- システム環境変数を設定するには、管理者実行で
/mオプションを使用する。 - 削除には、レジストリ直接編集が必要になる(のが(Linuxユーザからすると)?らしい)。
※ SETX には 値が 1024 文字で切り捨てられるという制限があり、
PATH のような長い変数の設定に使うと破壊されうる(下記「参考」の Qiita 記事の趣旨)。
PowerShell の [Environment]::SetEnvironmentVariable() を使うのが安全。
- プロキシの設定方法
- .NET for Apache Sparkチュートリアル(
MS_DotNetForApacheSparkTutorial.md) - AWS CLI - 開発基盤部会 Wiki
REG_SZ、REG_EXPAND_SZ の扱いを誤ると壊すので注意。
| データ型(レジストリ) | .NET Framework | 説明 |
|---|---|---|
| REG_SZ(文字列値) | System.String | null で終わる Unicode 文字列値 |
| REG_EXPAND_SZ(展開可能な文字列値) | System.String | 環境変数(例えば %USERNAME% や %SystemRoot% など)を含む null で終わる Unicode 文字列 |
移行メモ: 原文はこの箇所が「データ型 / レジストリ / .NET Framework / 説明」という 4 項目の箇条書きを 2 つ並べた形(表を意図したと見られる崩れた記法)だったため、表に整えた。
同じ変数があった場合、
- システム環境変数 — 全ユーザから参照可能。
- ユーザ環境変数(優先) — 当該ユーザから参照可能。
※ PATH だけは例外で、上書きではなく
システム環境変数の値の後ろにユーザ環境変数の値が連結される。
- @IT:.NET TIPS レジストリの値のデータ型を判別するには?
- Windows環境変数の設定に「SETX」コマンドを使ってはいけない理由 - Qiita
-
宇宙仮面のC# Programming 4.環境変数を扱う4つの方法
- System.Environmentを使用する方法
- レジストリを使用する方法
- Platform SDK を使用する方法
- WMI を使用する方法
-
環境変数あれこれ - re-Think things
-
GetEnvironmentVariable()とSetEnvironmentVariable()ですが、- これらは、プロセス内で有効な環境ブロックにアクセスするための API であり、
- レジストリにエントリーされている環境変数の値を参照/設定するものではありません。
- レジストリで環境変数を変更した場合ですが、ユーザーは一旦 Windows からログオフしてから、再度、ログオンすることで確実に更新/変更されますが、
一部のアプリケーションは、特定のウィンドウメッセージ(WM_SETTINGCHANGE)を受信すると、再度、環境ブロックを読みだします。 - EXPANDの件
- 環境変数内には、
%で囲まれている文字列があったりしますが、これはExpandEnvironmentStrings()を使うことで展開できます。 -
GetEnvironmentVariable()を使って環境変数を参照する際には、%で囲まれている部分は展開されたものが返ってきます。
- 環境変数内には、
-
Tags: Windows
このWikiは「Open棟梁Project」,「OSSコンソーシアム 開発基盤部会」によって運営されています。