環境変数

環境変数は、ユーザーが定義できるで、コンピュータ上で実行中のプロセスの動作に影響を与える可能性があります。環境変数は、プロセスが実行される環境の一部です。例えば、実行中のプロセスは、TEMP環境変数の値を参照して一時ファイルを保存するのに適した場所を見つけたり、HOME変数やUSERPROFILE変数を参照してプロセスを実行しているユーザーが所有する ディレクトリ構造を確認したりできます。

これらは1979年にUnix Version 7で現在の形で導入され、それ以降のLinuxmacOSを含むすべてのUnixオペレーティングシステムのフレーバーとバリアントに含まれています。 1982年のPC DOS 2.0以降、 Microsoft WindowsOS/2を含むすべての後継Microsoftオペレーティングシステムにも機能として含まれていますが、構文、使用法、標準変数名は多少異なります。

設計

すべてのUnixおよびUnixライクなシステム、そしてWindowsでは、各プロセスは独自の環境変数セットを持っています。デフォルトでは、プロセスが作成されると、親プロセスの実行時環境の複製を継承します。ただし、親プロセスが子プロセスを作成する際に明示的に変更した場合は除きます。APIレベルでは、これらの変更は実行中と実行中の間で行う必要があります。あるいは、 bashなどのコマンドシェルから、ユーザーは特定のコマンド呼び出しの環境変数をまたは 記法を使用して間接的に呼び出すことで変更できます。実行中のプログラムは、設定のために環境変数の値にアクセスできます forkexecenvENVIRONMENT_VARIABLE=VALUE <command>

シェルスクリプトバッチファイルは、子プロセスにデータや設定を伝えるために環境変数を使用します。また、シェルスクリプト内で後で参照するための一時的な値を保存するためにも使用できます。ただし、Unixでは、プロセス外に情報が漏洩しないため、非エクスポート変数がこのような用途に推奨されます。

Unixでは、スクリプトまたはコンパイルされたプログラム内で変更された環境変数は、そのプロセスと、場合によっては子プロセスにのみ影響します。親プロセスおよび無関係なプロセスには影響しません。同様に、DOSCOMMAND.COMまたはWindowsのバッチファイル内で変数の値を変更または削除すると、それぞれプロセスまたはプロセスが存在する間CMD.EXE、変数が変更されます。

Unixでは、環境変数は通常、システム起動時にシステムinitスクリプトによって初期化され、システム内の他のすべてのプロセスに継承されます。ユーザーは、使用しているコマンドシェルのプロファイルスクリプトで環境変数を拡張することができ、実際にそうすることがよくあります。Microsoft Windowsでは、各環境変数のデフォルト値はWindowsレジストリに保存されるか、ファイルに設定されますAUTOEXEC.BAT

Unixでは、setuidプログラムは呼び出し元によって選択された環境を与えられ、呼び出し元とは異なる権限で実行されます。ダイナミックリンカーは通常、環境変数で指定された場所からコードを読み込み$LD_LIBRARY_PATH$LD_PRELOADプロセスの権限で実行します。setuidプログラムがこのような動作をした場合、呼び出し元が任意のコードを実行させ、権限を悪用する可能性があるため、安全ではありません。このため、libcはsetuidプロセスの起動時にこれらの環境変数を解除します。setuidプログラムは通常、不明な環境変数を解除し、他の環境変数をチェックするか、適切な値に設定します。

一般的に、環境変数のコレクションは、キーと値の両方が文字列である連想配列として機能します。どちらの文字列内の文字の解釈もシステムによって異なります。リストなどのデータ構造を表現する必要がある場合は、コロン(UnixおよびUnix系システムで一般的)またはセミコロン(WindowsおよびDOSで一般的)で区切られたリストを使用するのが一般的です。

構文

変数はスクリプトとコマンドラインの両方で使用できます。通常、変数名の前または前後に特殊記号を付けて参照します

慣例により、環境変数の名前は通常すべて大文字で表記されます。これにより、環境変数をプログラミングコード内で使用される他の変数や識別子と明確に区​​別することができます。ただし、環境変数名の大文字と小文字の区別はオペレーティングシステムによって異なることに注意してください。つまり、Unix系オペレーティングシステムでは環境変数名の大文字と小文字が区別されますが、DOS、OS/2、Windowsでは大文字と小文字は区別されません。

Unix

ほとんどのUnixおよびUnixライクなコマンドラインシェルでは、環境変数の値は変数名の前に記号を置くことで取得されます$。必要に応じて、名前を中括弧で囲むこともできます

ユーザーのホームディレクトリを表示するには、次のように入力します。

echo $HOME

UnixおよびUnix系システムでは、環境変数の名前は大文字と小文字が区別されます

このコマンドenvは、すべての環境変数とその値を表示します。printenvまた、変数名を唯一の引数として指定することで、単一の変数のみを出力することもできます。

DOS、OS/2、Windows

DOS、OS/2、Windows のコマンドラインインタープリタ ( や など) ではCOMMAND.COMCMD.EXE環境変数は%前後に記号を配置することによって取得されます。

DOS、OS/2、Windows のコマンドラインインタープリタおよびそのAPIでは、環境変数名の大文字と小文字は区別されません。

環境変数 には、ユーザーのホーム ディレクトリのHOMEDRIVEドライブ文字 (および末尾のコロン) が含まれますが、 には、そのドライブ内のユーザーのホーム ディレクトリの完全なパスが含まれます。 :HOMEPATH

したがって、ホームドライブとパスを確認するには、ユーザーは次のように入力します。

ECHO %HOMEDRIVE%%HOMEPATH%

このコマンドSET(引数なし)は、すべての環境変数とその値を表示します。Windows NT以降ではset、プレフィックスをコマンドの唯一の引数として指定することで、名前が特定のプレフィックスで始まるすべての変数を表示することもできます

Windows PowerShellでは、ユーザーは次のように入力できます。

"$Env:HomeDrive$Env:HomePath"

または、以下のいずれかの冗長な同等のもの:

書き込み出力"$Env:HomeDrive$Env:HomePath" echo "$Env:HomeDrive$Env:HomePath"書き込み"$Env:HomeDrive$Env:HomePath" return "$Env:HomeDrive$Env:HomePath"書き込みホスト"$Env:HomeDrive$Env:HomePath"

PowerShell では、環境変数名の大文字と小文字は区別されません。

次のコマンドは、すべての環境変数とその値を表示します。

Get-ChildItem環境変数:

課題: Unix

コマンドenvとコマンドsetは環境変数を設定するために使用でき、多くの場合シェルに直接組み込まれます。

次のコマンドも使用できますが、多くの場合、特定のシェルに依存します。

変数= # (等号の前後にスペースを入れないでください)Bourneおよび関連シェル の export VARIABLE #
export VARIABLE = value # kshbash、および関連シェル の場合
setenv VARIABLE value #(cshおよび関連シェル 用)

環境変数がどのように効果を発揮するかは、いくつかの簡単な原則によって決まります。

環境変数は、設定されたプロセスにローカルです。2つのシェルプロセスが生成され、一方のプロセスで環境変数の値が変更されても、その変更はもう一方のプロセスには反映されません。

子プロセスが生成されると、親プロセスからすべての環境変数とその値を継承します。通常、プログラムが別のプログラムを呼び出す場合、まずフォークによって子プロセスが生成され、次に子プロセスが必要に応じて環境を調整し、最後に子プロセスが呼び出されるプログラムに置き換えられます。この手順により、呼び出し元プログラムは呼び出されるプログラムの環境を制御できるようになります。

Unixシェルでは、キーワードなしで変数を割り当てることができますexport。このように定義された変数はsetコマンドによって表示されますが、シェルによってのみ保存され、他のすべてのプロセスには認識されないため、真の環境変数ではありませんprintenv。コマンドはこれらの変数を表示せず、子プロセスはそれらを継承しません。

変数=

プレフィックス構文は、現在のプロセスに影響を与えずに子プロセスに「真の」環境変数をエクスポートします。[ 1 ]

変数=プログラム名 [引数] 

環境変数の永続性は、セッション全体またはシステム全体に及ぶことがあります。

unsetは、UnixコマンドラインシェルのBourneシェルファミリ(sh、、など)とCシェルファミリ(csh、tcshなど)の両方で実装されている組み込みコマンドです。シェル変数を設定解除し、メモリとシェルのエクスポート環境から削除します。シェルの内部を直接操作するため、シェルの組み込みコマンドとして実装されています。 [ 2 ] [ 3 ]読み取り専用シェル変数を設定解除することはできません。読み取り専用変数を設定解除しようとすると、コマンドはエラーメッセージを表示し、ゼロ以外の終了コードを返します。 kshbashunset

割り当て: DOS、OS/2、および Windows

COMMAND.COMやなどの DOS、OS/2、Windows のコマンドライン インタープリタではCMD.EXESETコマンドは次の引数を使用して環境変数と値を割り当てるために使用されます。

変数の設定=

環境変数は次のように削除されます:

変数を設定=

引数なしのコマンドSETは、すべての環境変数とその値を表示します。SET " "(0個以上のスペース)には、内部変数も含まれます。 では、コマンドを使用してグローバル変数ではないローカル変数を割り当て、環境を復元すること CMD.EXEができます。SETLOCALENDLOCAL

スイッチ を使用して/?内部ドキュメントを表示するか、ビューアhelpを使用します。

SET /? ヘルプ SET SETLOCAL /? ヘルプ SETLOCAL 

PowerShellでは、代入はUnixに似た構文に従います

$env:VARIABLE = "値"

課題:PHP

PHPでは関数putenv()を使用する必要があります。[ 4 ] [ 5 ]

putenv ( "変数名" = "値" );

環境変数の例には以下が含まれます。

  • PATH:ディレクトリパスのリスト。ユーザーがフルパスを指定せずにコマンドを入力すると、このリストにコマンドへのパスが含まれているかどうかが確認されます
  • HOME( Unix 系) およびUSERPROFILE( Microsoft Windows ): ユーザーのホーム ディレクトリがファイル システム内のどこにあるかを示します。
  • HOME/{.AppName}( Unix系)およびAPPDATA\{DeveloperName\AppName}(Microsoft Windows): アプリケーション設定の保存用。多くのアプリケーションはUSERPROFILE、Windowsのアプリケーション設定に誤って を使用しています。 は、USERPROFILEユーザーが のようなパスを選択できるダイアログでのみ使用してくださいDocuments/Pictures/Downloads/Music。プログラム的な目的では、APPDATA(複数のデバイス間で共有されるローミングアプリケーション設定)、LOCALAPPDATA(ローカルアプリケーション設定)、またはPROGRAMDATA(複数のOSユーザー間で共有されるアプリケーション設定)を使用する必要があります。[ 6 ]
  • TERM( Unix 風): 使用されているコンピュータ端末または端末エミュレータの種類を指定します(例:vt100またはdumb)。
  • PS1( Unix ライク): Bourne シェルおよびその変種でプロンプトが表示される方法を指定します。
  • MAIL( Unix 風): ユーザーのメールが見つかる場所を示すために使用されます。
  • TEMP: プロセスが一時ファイルを保存できる場所。

真の環境変数

Unix

$PATH
シェルがコマンド名にスラッシュを含まないコマンドを検索するディレクトリをコロンで区切って指定します(スラッシュを含むコマンドは実行ファイル名として解釈され、シェルはファイルを直接実行しようとします)。これはDOSOS/2Windowsの%PATH%変数と同等です。
$HOME
ユーザーのホームディレクトリの場所が格納されます。現在のユーザーのホームディレクトリはC言語の関数やを使って確認することもできますがgetpwuidgetuid様々$HOMEなシェルスクリプト(およびその他のコンテキスト)で利便性のためによく使用されます。環境変数を使用することで、ユーザーは別のディレクトリを指定することもできます。
$PWD
この変数は現在のディレクトリを指します。引数なしでpwdコマンドを実行した場合の出力と同等です。
$DISPLAY
X11プログラムがデフォルトで使用するディスプレイの識別子が含まれます。
$LD_LIBRARY_PATH
動的リンカーを備えた多くの Unix システムでは、の後にプロセス イメージを構築するときに、他のディレクトリを検索する前に、動的リンカーが共有オブジェクトexecを検索するディレクトリのコロンで区切られたリストが含まれます。
$LIBPATHまたは$SHLIB_PATH
$LD_LIBRARY_PATH古いUnixバージョンで一般的に使用される代替手段
$LANG, $LC_ALL, $LC_...
$LANGは、デフォルトのロケールに設定するために使用されます。例えば、ロケール値が の場合pt_BR、言語は(ブラジル)ポルトガル語に設定され、必要に応じてブラジルの慣習が適用されます。ローカリゼーションのさまざまな側面は​​、個々の -変数( 、 など)によって制御されます。$LC_$LC_CTYPE使用すると、すべての側面で同じロケールを強制できます。$LC_COLLATE$LC_DATE$LC_ALL
$TZ
タイムゾーンを参照します。タイムゾーン自体を指定するか、ファイル( /usr/share/zoneinfo)を参照するなど、いくつかの形式があります。
$BROWSER
コロンで区切られたユーザのウェブブラウザ設定のリストを含み、 URLのコンテンツをユーザに表示させるプログラムで使用されます。リスト内のブラウザは最初から最後まで試行され、最初に成功したブラウザの後で停止します。この配置により、異なる環境でのフォールバック動作が可能になります。たとえば、X11環境ではグラフィカルブラウザ( Firefoxなど)を使用できますが、コンソール環境ではターミナルベースのブラウザ(Lynxなど)を使用できます。URL%sを配置する場所を指定するトークンが存在する場合があります。そうでない場合は、ブラウザはURLを最初の引数として起動されます。[ 7 ] [ 8 ] [ 9 ] [ 10 ] [ 11 ]

ドス

DOSでは、マスター環境はプライマリコマンドプロセッサによって提供され、最初にロードされたときにで定義された事前環境を継承します。そのサイズは、パラメータによって160 [ 12 ]~ 32767 [ 12 ]バイトの範囲で設定できます。子プロセスに継承されるローカル環境セグメントは、通常、保持する内容のサイズまで縮小されます。一部のコマンドラインプロセッサ(4DOSなど)では、セカンダリシェルを起動するときに使用できる最小限の空き環境スペースを定義できます。[ 12 ]環境変数の内容は保存時に変更されませんが、その名前(「 」なし)は常に大文字に変換されます。ただし、 DR-DOS 6.0以降でディレクティブ[ 13 ] [ 14 ]によって定義された事前環境変数は例外です( DR-DOS 7.02以降では(「小文字の名前を許可する」)の場合のみ)。[ 12 ] [ 15 ]原則として、MS-DOS 7.0以降では小文字の変数名()もサポートされていますが、ユーザーが定義する手段は提供されていません。小文字を含む環境変数名は、通常の環境変数と同様に環境に保存されますが、大文字の変数のみを想定して記述されているため、ほとんどのDOSソフトウェアでは表示されません。[ 12 ] [ 13 ] [ 14 ]一部のコマンドプロセッサでは、変数名の最大長が80文字に制限されています。[ 12 ]原則として環境セグメントのサイズによってのみ制限されますが、一部のDOSおよび16ビットWindowsプログラム[ 12 ] [注 1 ]では、環境変数の内容が128文字を超えることは想定されていません。DR-DOSは最大255文字、4DOSは最大512文字の環境変数をサポートしています。[ 12 ]設定できるため(CONFIG.SYSCOMMAND /E:n%CONFIG.SYSSETSWITCHES=/L%windir%COMMAND.COMCOMMAND.COM/L:128..1024)はMS-DOS 7.0以降で内部的に最大1024文字のコマンドラインをサポートするため、環境変数も少なくとも1024文字を含むことが想定されます。DR-DOSの一部のバージョンでは、ドライバに渡される環境変数(インストール後には不要になることが多い)は、または/オプション(ゼロ環境変数)、(ドライブの置換、例)、 (プログラムより上の環境変数)によって縮小または再配置され、ドライバの実質的な常駐メモリフットプリントを最小限に抑えることができます。[ 16 ] [ 15 ] [ 13 ] [ 17 ] [ 18 ] [ 19 ]SETENVINSTALL[HIGH]LOADHIGH/Z/D[:loaddrive]B:TSR.COM/E

バッチ モードでは、存在しない環境変数は長さ 0 の文字列に置き換えられます。

標準環境変数または予約済み環境変数には次のものがあります。

%APPEND%(DOS 3.3 以降でサポート)
この変数には、ファイルを検索するディレクトリをセミコロンで区切ってリストします。この変数は通常APPEND /Eコマンドで変更されますが、このコマンドはディレクトリ名を大文字に変換します。一部のDOSソフトウェアでは、名前が大文字で格納され、リストの長さが121文字を超えないことを想定しているためこの変数はSETコマンドで変更しないことをお勧めします。スペースやその他の特殊文字を含む長いファイル名は、引用符 ( ) で囲まないでください"
%CONFIG%MS-DOS 6.0およびPC DOS 6.1以降でサポートされ、 ROM-DOSでもサポートされている[ 20 ]
この変数は、現在選択されているブート設定のシンボル名を保持します。この変数は、プライマリコマンドプロセッサを起動する前に、 DOS BIOSIO.SYS、など)によって、対応するディレクティブIBMBIO.COMで定義された名前に設定されます。この変数の主な目的は、ブート時に選択されたオプションに応じて、 や同様のバッチジョブでさらに特別なケースを可能にすることです。これは、 のようなディレクティブを使用することで、DR-DOS でエミュレートできます。CONFIG.SYSMENUITEMAUTOEXEC.BATCONFIG.SYSSETSET CONFIG=1
%CMDLINE%( 4DOSで導入され、 MS-DOS 7.0以降でもサポートされています)
この変数には、現在実行中のコマンド ラインの完全に展開されたテキストが格納されます。アプリケーションは、この変数を読み取ることで、長いコマンド ラインの使用を検出して取得できます。PSP (または関連するAPI関数) を介してコマンド ライン引数を取得する従来の方法は 126 文字に制限されており、 FCB が展開されるかデフォルトのDTAが使用されると使用できなくなるためです。4DOS はより長いコマンド ラインをサポートしていますが、デフォルトではプロンプトで最大 126 文字しかサポートしません (コマンド ライン バッファのサイズを指定するために でオーバーライドされない限り)。ただし、内部コマンド ラインは、fe 変数の展開によって長くなる可能性があります (内部バッファのサイズを指定する によって異なります)。PSP のコマンド ライン長バイトに加えて、PSP コマンド ラインは通常ASCII-13によって制限され、126 文字を超えるコマンド ラインは通常、位置 127 に ASCII-13 が挿入されることによって切り捨てられます[ 14 ]が、これはすべてのシナリオで信頼できるわけではありません。[ 14 ] [注 2 ]後方互換性のため、および非再配置型の常駐終了プログラムをロードする際の環境サイズを最小化するために、例えば のように - 記号を先頭に付けて呼び出される外部コマンドでは、この変数は抑制されます。Windows Chicagoの一部のベータ版では、コマンドライン全体ではなく、126文字を超えるコマンドラインの残りの部分のみを保存していました。[ 13 ] [ 14 ]COMMAND.COM/U:128..255/L:128..1024@@XCOPY ...%CMDLINE%
%COMSPEC%(DOS 2.0 以降でサポート)
この変数には、コマンドプロセッサへの完全な8.3パス(通常はまたは) が含まれます。長いファイル名を含めることはできませんが、DR-DOS ではファイルディレクトリのパスワードを含めることができます。この変数は、プライマリコマンドプロセッサによって、自分自身を指すように設定されます (通常はディレクティブの設定を反映します)。これにより、コマンドプロセッサの常駐部分は、大きなプログラムの実行後に、一時部分をディスクから再ロードできます。実行時に値を変更して構成の変更を反映させることができ、その結果、コマンドプロセッサは他の場所から自分自身を再ロードする必要が生じます。この変数は、セカンダリシェルを起動するときにも使用されます。C:\COMMAND.COMC:\DOS\COMMAND.COMCONFIG.SYSSHELL
%COPYCMD%MS-DOS 6.2およびPC DOS 6.3以降でサポートされ、 ROM-DOSでもサポートされている[ 20 ]
、、およびコマンドの/Yデフォルトとして、スイッチ(クエリで「はい」と仮定)を指定できます。デフォルトのスイッチは、コマンドラインでスイッチを指定することにより上書きできます。このスイッチは、確認プロンプトを表示せずに既存のファイルを置き換えるようコマンドに指示します。COPYXCOPYMOVE/Y/-Y/Y
%DIRCMD%MS-DOS 5.0およびPC DOS 5.0以降でサポートされ、 ROM-DOSでもサポートされている[ 20 ]
ユーザーは、DIRファイル指定を含むコマンドのデフォルトパラメータをカスタマイズできます。デフォルトのスイッチは、コマンドラインで否定スイッチを指定することで上書きできます。例えば、にスイッチ%DIRCMD%が含まれている場合、コマンドラインで/Wを使用することで上書きできます。これは、 DOS Plusの環境変数[ 21 ]や、 DR-DOSのスイッチまたはスイッチを使用してデフォルトのスイッチを定義する機能に似ています。[ 13 ]は、 Novell DOS 7以降の外部/ Stackerコマンドでもサポートされています。[ 13 ]DIR /-W%$DIR%DIR/C/RCOMMAND.COM%DIRCMD%SDIR.COMDIR.COM
%LANG%( MS-DOS 7.0以降でサポートされています)
この変数は、多言語の問題におけるメッセージのロケールを切り替えるために一部のツールによってサポートされています。
%LANGSPEC%( MS-DOS 7.0以降でサポートされています)
この変数は、多言語の問題におけるメッセージのロケールを切り替えるために一部のツールによってサポートされています。
%NO_SEP%( PC DOS 6.3およびDR-DOS 7.07以降でサポートされています)
この変数は、様々なコマンドのメッセージにおける千単位区切りの表示を制御します。デフォルトでは千単位区切りが出力されますが、PC DOSではSET NO_SEP=ONまたはを指定するSET NO_SEP=1ことで非表示にできます。DR-DOSでは、さらに fe のように表示されるシステムの千単位区切りを上書きできますSET NO_SEP=.[ 12 ]
%PATH%(DOS 2.0 以降でサポート)
この変数には、コマンドインタープリタが実行ファイルを検索するディレクトリのセミコロン区切りリストが含まれます。Unix変数と同等です(ただし、一部のDOSおよびWindowsアプリケーションでは、 Unix系システムの$PATHと同様に、データファイルの検索にもこのリストを使用します)。この変数は通常、 (またはMS-DOS 6.0では)コマンドで変更されます。このコマンドは、ディレクトリ名を大文字に変換します。一部のDOSソフトウェアでは、名前が大文字で格納され、リストの長さが123 [ 12 ]文字を超えないことを想定しています。 [注 1 ]そのため、この変数は コマンドで変更しない方がよいでしょう。[ 12 ]スペースやその他の特殊文字を含む長いファイル名は、引用符で囲まないでください( )。デフォルトではカレントディレクトリが最初に検索されますが、 4DOSなどの一部のコマンドラインプロセッサでは、この検索順序を変更するために、リストに「」(「カレントディレクトリ」)も含めることができます。一部のDOSプログラムはこの拡張機能と互換性がありません。[ 12 ]$LD_LIBRARY_PATHPATHPATH /ESET".
%PROMPT%(DOS 2.0 以降でサポート)
この変数には、プロンプト$の表示を定義するトークン化された文字列が含まれます。通常はコマンドによって変更されます。PROMPT
%TEMP%(そして%TMP%
これらの変数には、一時ファイルを保存するディレクトリへのパスが含まれます。オペレーティングシステムのツールは通常 のみを使用します%TEMP%が、サードパーティのプログラムは も使用します%TMP%。通常、%TEMP%は よりも優先されます%TMP%

DR -DOSファミリは、次のような追加の標準環境変数をサポートしています。

%BETA%
この変数には、セカンダリCOMMAND.COMシェルの起動時に表示されるオプションのメッセージが含まれています。 [ 22 ]
%DRDOSCFG%/ %NWDOSCFG%/%OPENDOSCFG%
この変数には、コマンドやコマンド、さまざまな DR-DOSプログラム( 、、、、、 /、、、、、、、またはなど\)で使用される、.INIおよび.CFG設定ファイル(つまり、DR-DOS アプリケーション固有のファイル(TASKMGR.INI、、、など)、クラス固有のファイル(、、、、または)などのグローバルファイル)を検索するディレクトリ [ 23 ] (末尾の " " なし)が含まれます。[ 13 ]長いファイル名を含めることできません。TASKMAX.INIVIEWMAX.INIFASTBACK.CFGCOLORS.INIDRDOS.ININWDOS.INIOPENDOS.INIDOS.INIINSTALLSETUPDISKOPTDOSBOOKEDITFBXFILELINKLOCKSECURITY.OVLNWLOGIN.EXESERNOTASKMAXTASKMGRVIEWMAXUNDELETE
%DRCOMSPEC%
%COMSPEC%この変数は、オプションで、変数で定義されたパスよりも優先されるコマンドプロセッサへの代替パスを保持します。これには、オプションでファイルディレクトリのパスワードが含まれます。また、変数が間違ったコマンドラインプロセッサを指している可能性があるシナリオ(例えば、DR-DOSコマンドの一部のバージョンを外国のオペレーティングシステムで実行している場合など)でも、変数の使用を強制するために、ON特別な値「 」または「 」を保持することもできます。[ 24 ]1%COMSPEC%%COMSPEC%SYS
%DRSYS%
この変数を「ON」または「 」に設定すると、警告を表示する代わりに、1DR-DOSコマンドの一部のバージョンが外国のオペレーティングシステムで動作するように強制されます。 [ 24 ]SYS
%FBP_USER%
Novell DOS 7のFastBackコマンドFBXと設定ファイルで使用されるユーザー名を指定します。[ 13 ]{user}.FB
%HOMEDIR%
この変数にはDR-DOS( DR DOS 5.0および6.0を含む)のホームディレクトリが格納されることがあります。 [ 13 ] [ 22 ]
%INFO%
DR-DOSのいくつかのバージョンでは、この変数はコマンドのトークンCOMMAND.COMによって表示される文字列を定義します。[ 22 ]例えば、セカンダリシェルを終了する方法をユーザーに通知するために使用できます。$IPROMPT
%LOGINNAME%
DR-DOSの一部のバージョンでは、この変数はNovell NetWareのfeログインスクリプトによって設定されるコマンドのトークンCOMMAND.COMによって表示されるユーザー名を定義します。[ 12 ] [ 13 ] [ 22 ]同様の名前の疑似変数も参照してください。$UPROMPT%LOGIN_NAME%
%MDOS_EXEC%
この変数は、マルチユーザーDOSでは「 ON」または「 」の値を取ることができます。有効にすると、オペレーティングシステムは、 DOSの場合のように同じドメインでアプリケーションを実行するのではなく、セカンダリアプリケーションが最大限のDOSメモリを使用できるように、 DOSプログラム領域(DPA)を解放して、アプリケーションがセカンダリシェルにシェルアウトすることを許可します。[ 25 ] [ 26 ]OFF
%NOCHAR%
この変数は、一部のコマンドのメッセージに表示される「No」の文字を定義するために使用できます。[Y,N]これにより、現在のシステムのデフォルト(NDR-DOSの英語版では通常「 」)が上書きされます。文字列が含まれている場合は、最初の文字(大文字)のみが採用されます。一部のコマンドでは、コマンドラインパラメータを使用して/Yクエリに対して自動的に「Yes」と仮定し、そのようなプロンプトを抑制できます。ただし、パラメータを/Y:yn使用して「Yes」/「No」文字を指定した場合(これにより設定が上書きされます)、クエリは抑制されません。関連ディレクティブと環境変数%NOCHAR%も参照してください。[ 24 ]CONFIG.SYSNOCHAR%YESCHAR%
%NOSOUND%
この変数を「ON」または「1」に設定すると、一部のDR-DOSコマンドによって特定の状況(操作の完了、ユーザーによる操作の必要性、間違ったキーの押下など)で発せられるデフォルトのビープ音が無効になります。特定のビープ音を明示的に有効にするコマンドラインオプションは、この設定を上書きします。
%OS%
この変数には、バッチ ジョブおよびアプリケーションでDigital Research由来のさまざまな DOS 関連のオペレーティング システムを区別するためのオペレーティング システムの名前が含まれています。 [ 23 ]既知の値には、「DOSPLUS」( DOSエミュレーションのDOS Plus 1.2CPCDOS 4.1 )、「 」(CP/Mエミュレーションの DOS Plus 1.2)、「DRDOS」(DR DOS 3.316.0DR DOS PantherDR DOS StarTrekDR-DOS 7.02 [ 23 ]7.05)、「EZDOS」(EZ-DOS 3.41 )が含まれます。 )、" PALMDOS" および " NetWare PalmDOS" ( PalmDOS 1.0 )、 " NWDOS" ( Novell DOS 7 )、 " NWDOS7" (Novell DOS 7 Beta)、 " OPENDOS" ( Caldera OpenDOS 7.01Caldera DR-OpenDOS 7.02 )、 " CDOS" ( Concurrent DOSConcurrent DOS XM )、 " CPCDOS" ( Concurrent PC DOS )、 " CDOS386" ( Concurrent DOS 386 )、 " DRMDOS" ( DR マルチユーザー DOS )、" MDOS" ( CCIマルチユーザーDOS )、[ 25 ] " IMSMDOS" ( IMSマルチユーザーDOS )、" REAL32" ( REAL/32 )。[ 13 ] [ 27 ] MS-DOSもINTERSVR" "の値を探します。 [ 27 ]後にWindows NTファミリーで導入された同じ名前の環境変数も参照してください。DRDOS%OS%
%PEXEC%
DR-DOSのいくつかのバージョンでは、この変数は外部プログラムの実行から戻った後にプロンプ​​トを表示する前にコマンド$Xのトークンによって実行されるコマンドを定義します。[ 13 ] [ 23 ]PROMPTCOMMAND.COM
%SWITCHAR%
この変数は、一部のDR-DOSコマンドの引数解析に使用されるSwitCharを/定義します。定義された場合、システムの現在のSwitChar設定が上書きされます。使用できる文字は「 」(DOS形式)、「-」(Unix形式)、「[」(CP/M形式)のみです。関連CONFIG.SYSディレクティブSWITCHAR(システムのSwitChar設定の設定)と、DR-DOSの一部のバージョンに記載されている%/%システム情報変数COMMAND.COM(ポータブルバッチジョブの現在の設定の取得)も参照してください。
%TASKMGRWINDIR%
この変数は、 DR-DOSマルチタスクが使用するWindows が配置されているディレクトリを指定し、ファイルの検索手順をオーバーライドします。[ 13 ]SYSTEM.INITASKMGR
%VER%
この変数には、バッチジョブやコマンドの表示でDR-DOSの異なるバージョンを区別するために、オペレーティングシステムのバージョンが含まれていますVER[ 23 ]$Vこれはコマンドのトークンにも使用され、システム情報変数PROMPTによって返される値に影響します。既知の値には、「」(PalmDOS 1.0)、「」(DOSエミュレーションのDOS Plus 1.2 )、「 」(同時DOS 386 2.0)、「」(同時DOS 386 3.0)、「」(DR DOS 3.31)、「」(DR DOS 3.32)、「」(DR DOS 3.33)、「」(DR)が含まれます。 DOS 3.34 )、" " ( DR DOS 3.35 )、" " ( DR DOS 3.40 )、" " ( DR DOS 3.41EZ-DOS 3.41 )、" " ( DR DOS 3.41T )、" " (同時 PC DOS 4.1 )、" " ( DR DOS 5.0DR マルチユーザー DOS 5.0 )、 " " ( Novell DR マルチユーザー DOS 5.1 )、" " ( DR Concurrent DOS XM 6.0DR DOS 6.0 )、" " ( DR Concurrent DOS XM 6.2 )、" " ( Novell DOS 7Caldera OpenDOS 7.01DR-DOS 7.02 - 7.05 )、" " ( CCI Multiuser DOS 7.00 )、" " ( DR-DOS) 7.07 )、" " ( IMS マルチユーザー DOS 7.1 )、" " ( CCI マルチユーザー DOS 7.21 )、[ 25 ] " " ( CCI マルチユーザー DOS 7.22 ) など[ 13 ] [ 27 ] [ 25 ]%OS_VERSION%1.01.22.03.03.313.323.333.343.353.403.413.41T4.15.05.16.06.277.007.077.17.217.22
%YESCHAR%
この変数は、一部のコマンドのメッセージに表示される「Yes」の文字を定義するために使用できます[Y,N]。これにより、現在のシステムのデフォルト(YDR-DOSの英語版では通常「 」)が上書きされます。文字列が含まれている場合は、最初の文字(大文字)のみが採用されます。一部のコマンドでは、コマンドラインパラメータを使用して/Yクエリに対して自動的に「Yes」と想定し、そのようなプロンプトを抑制できます。ただし、パラメータを/Y:y使用して「Yes」文字を指定した場合(これにより設定が上書きされます)、クエリは抑制されません。関連ディレクティブと環境変数%YESCHAR%も参照してください。[ 24 ]CONFIG.SYSYESCHAR%NOCHAR%
%$CLS%
CLSこの変数は、コマンド発行時にコンソールドライバに送られ画面をクリアするための制御シーケンスを定義し、内部デフォルト( ←[2JDR-DOSでは" "、Amstradマシン上の←EDOS Plus 1.2 [ 21 ]では" "、 VT52端末の場合はConcurrent DOSMultiuser DOSREAL/32ASCII端末の場合はMultiuser DOSの" " )を上書きします。[ 25 ]変数が定義されておらず、コンソールドライバが検出されない場合、DR-DOSはMS-DOS/PC DOSと同様にBIOS機能を介して直接画面をクリアします。8進数の特別な-記法がサポートされており、ESC( ASCII-27 = "←" = 1Bh = 33o)などの特殊文字を定義できます( fe in )。バックスラッシュ(" ")自体を送信するには、" "を2つ重ねます。[ 13 ] [ 22 ] [ 25 ]←+ANSI.SYSCOMMAND.COMINT 10h/AH=00hCOMMAND.COM\nnnSET $CLS=\033[2J\\\
%$DIR%
DOS Plusでサポートされており、DIRコマンドでディレクトリ一覧のデフォルトのレイアウトを変更するために、値「L」(long)または「W」(wide)を受け入れる。コマンドラインオプション/Lまたはを使用して上書きできる/W[ 22 ] [ 21 ]同様の環境変数%DIRCMD%と、DR-DOS COMMAND.COMのDIRオプション/Cおよびも参照のこと。 [ 13 ]/R
%$PAGE%
DOS Plusでサポートされており、ページ区切り制御に「 ON」または「 」の値を使用できます。これを「 」に設定すると、それをサポートするコマンド(DIRTYPEなど)に追加するのと同じ効果があります。[ 22 ] [ 21 ]OFFON/P
%$LENGTH%
DOS Plusでコンソールの画面長を行単位で定義するために使用されます。これは、/P様々なコマンドでサポートされているオプションや自動ページ分割機能と組み合わせて、キーが押されるまで画面出力を一時的に停止させるタイミングを、移植性の高い方法で制御するために使用されます。[ 22 ] [ 21 ]関連する環境変数%$WIDTH%と、%DIRSIZE%類似の疑似変数も参照してください%_ROWS%
%$WIDTH%
DOS Plusでコンソールの画面幅を列単位で定義するために使用されます。これは、DIR /Wや などのコマンドの画面出力のフォーマットを、移植性の高い方法で制御するために使用されますTYPE filename[ 22 ] [ 21 ]関連する環境変数%$LENGTH%および 、%DIRSIZE%および類似の疑似変数も参照してください%_COLUMNS%
%$SLICE%
DOS Plusで使用され、数値を受け入れることでマルチタスクプログラムのフォアグラウンド/バックグラウンドタイムスライスを制御する。[ 22 ] [ 21 ] DOS Plusコマンドも参照SLICE
%$ON%
この変数には、テキストの強調表示、反転、またはカラー化をオンにするためのオプションの制御シーケンスを保持できます。これは、 ANSI.SYSがロードされている場合やIBMまたはESC/PTYPE wildcardプリンタの場合など、などのコマンドSET $ON=\033[1mでファイル名の表示を強調したり、その他の方法で制御したりするために使用されます。サポートされている特殊な8進表記については、 を参照してください。[ 13 ] [ 21 ] DOS PlusおよびDR-DOSでは、この変数はデフォルトで未定義ですが、ASCII端末のマルチユーザーDOSのデフォルトは です。[ 22 ] [ 25 ]関連する環境変数も参照してください。SET $ON=\016\nnn%$CLS%SET $ON=\033p%$OFF%
%$OFF%
この変数には、テキストの強調表示、反転、またはカラー化をオフにするオプションの制御シーケンスを保持できます。これはTYPE wildcardANSI.SYSSET $OFF=\033[0mがロードされている場合やIBMまたはESC/Pプリンタの場合など、 などのコマンドでファイル名を表示した後に通常の出力に戻すために使用されます。サポートされている特殊な8進表記については、 を参照してください。[ 13 ] [ 21 ] DOS PlusおよびDR-DOSではこの変数はデフォルトで未定義ですが、ASCII端末のマルチユーザーDOSのデフォルトはです。[ 22 ] [ 25 ]関連する環境変数も参照してください。SET $OFF=\024\nnn%$CLS%SET $OFF=\033q%$ON%
%$HEADER%
この変数は、DR-DOS 7.02以降のコマンドのように、ファイル内容の出力前に発行されるオプションの制御シーケンスを保持できます。これは、出力をプリンタ( IBMプリンタやESC/PTYPEプリンタなど)に送信する際に、ハイライト、ページ付け、またはフォーマットに使用できます。サポートされている特殊な8進表記については、を参照してください。[ 22 ]関連する環境変数も参照してください。SET $HEADER=\017\nnn%$CLS%%$FOOTER%
%$FOOTER%
TYPEこの変数は、DR-DOS 7.02以降のコマンドのように、ファイル内容の出力後に発行されるオプションの制御シーケンスを保持できます。これはSET $FOOTER=\022\014、上記のプリンタの例のように、通常の出力形式に戻すために使用されます。\nnnサポートされている特殊な8進表記については、を参照してください%$CLS%[ 22 ]関連する環境変数も参照してください%$HEADER%

Datalight ROM-DOS は、次のような追加の標準環境変数もサポートしています。

%DIRSIZE%
この変数は、オプションおよび(DOS Plusのおよびに類似)rows[,cols]の非標準画面サイズを定義するために使用されます。 [ 20 ]DIR/P/W%$LENGTH%%$WIDTH%
%NEWFILE%
この変数はCONFIG.SYSディレクティブNEWFILEに与えられた最初のパラメータに自動的に設定されます。[ 20 ]

%TZ%、、、、%COMM%はROM- %SOCKETS%DOSでも使用されます%HTTP_DIR% [ 20 ]%HOSTNAME%%FTPDIR%

OS/2

%BEGINLIBPATH%
変数(システム起動時に特別なCONFIG.SYSディレクティブで設定されます)で指定されたディレクトリの前にDLL を検索するディレクトリのセミコロン区切りのリストが含まれます。ここでは、現在の作業ディレクトリを表す「 」を含む相対ディレクトリを指定できます。関連する環境変数も参照してください%LIBPATH%LIBPATH.%ENDLIBPATH%
%ENDLIBPATH%
のようなDLLを検索するディレクトリのリスト。%BEGINLIBPATH%ただし、内のディレクトリのリストの後に%LIBPATH%検索されます。

Windows

これらの環境変数は、重要なオペレーティングシステムリソースの場所を参照するため、通常はユーザーに依存しません。[ 28 ]

%APPDATA%
ログインユーザーのアプリケーションデータディレクトリへのフルパスが含まれます。Windows NT 4.0 SP6 UKでは動作しません。
%LOCALAPPDATA%
この変数はアプリケーションのローカルデータファイルです。デスクトップテーマWindowsエラーレポート、Webブラウザのキャッシュやプロファイルの保存などに使用されます。
%ComSpec%/%COMSPEC%
この変数には%ComSpec%コマンドプロセッサへのフルパスが含まれます。Windows NTファミリーのオペレーティングシステムではcmd.exeWindows 9xではCOMMAND.COM%COMSPEC%です
%OS%
この変数には、バッチジョブ%OS%における異なる機能セットを区別するためのオペレーティングシステムファミリのシンボル名が格納されます。これは、Digital Research社製のDOS関連オペレーティングシステム(Concurrent DOS、Multiuser DOS、REAL/32、DOS PlusDR DOS、Novell DOS、OpenDOSなど)に共通する同名の環境変数に似ています。Windows NTファミリでは、常に文字列 " " が格納されます。[ 29 ]%OS%%OS%Windows_NT
%PATH%
この変数には、コマンドインタープリタが指定されたコマンドに一致する実行ファイルを検索するディレクトリのリスト(セミコロン区切り、スペースを入れないでください)が含まれます。パスを表す環境変数は、この%PATH%変数内にネストできますが、間接参照は1レベルまでに限られます。このサブパス環境変数自体にパスを表す環境変数が含まれている場合、%PATH%変数置換時に正しく展開されません。Unix$PATH変数と同等です。
%PROCESSOR_ARCHITECTURE%、、、、、%PROCESSOR_ARCHITEW6432%%PROCESSOR_IDENTIFIER%%PROCESSOR_LEVEL%%PROCESSOR_REVISION%
これらの変数にはCPUの詳細が含まれており、システムのインストール時に設定されます。
%PUBLIC%
変数%PUBLIC%(Vista で導入) は、パブリック(疑似) ユーザー プロファイル ディレクトリ " C:\Users\Public" を指します。
%ProgramFiles%、、%ProgramFiles(x86)%%ProgramW6432%
変数は、Windowsなどのインストール済みプログラムがすべて保存されているProgram Files%ProgramFiles%ディレクトリを指します。英語版システムでのデフォルトは「」です。64ビット版Windows(XP、2003、Vista)には、デフォルトで「 」に設定されていると、デフォルトで「」に設定されている も存在します。自体は、環境変数を要求しているプロセス自体が32ビットか64ビットかによって異なります(これはWindows-on-Windows 64ビットリダイレクト[ 30 ]によって発生します)。C:\Program Files%ProgramFiles(x86)%C:\Program Files (x86)%ProgramW6432%C:\Program Files%ProgramFiles%
%CommonProgramFiles%、、%CommonProgramFiles(x86)%%CommonProgramW6432%
この変数は、 Program FilesディレクトリのCommon Filesサブディレクトリを指します。英語版システムでのデフォルトは「」です。64 ビット版 Windows (XP、2003、Vista) では、(デフォルトは「」)と(デフォルトは「 」)も存在します。自体は、環境変数を要求しているプロセス自体が 32 ビットか 64 ビットかによって異なります (これはWindows 上の Windows 64 ビットリダイレクトによって発生します)。C:\Program Files\Common Files%ProgramFiles(x86)%C:\Program Files (x86)%ProgramW6432%C:\Program Files%ProgramFiles%
%OneDrive%
この%OneDrive%変数は、Windows NTおよびその派生OSに存在する特別なシステム全体にわたる環境変数です。この変数の値は、OneDriveディレクトリ(インストールおよびセットアップされている場合)のパスです。%OneDrive%ほとんどの場合、この変数の値は「C:\Users\{Username}\OneDrive\」です。
%SystemDrive%
この%SystemDrive%変数は、Windows NTおよびその派生OSに存在する、システム全体にわたる特別な環境変数です。この変数の値は、システムディレクトリが配置されているドライブです。%SystemDrive%ほとんどの場合、この変数の値は「C:」です。
%SystemRoot%
この%SystemRoot%変数は、Windows NTファミリーのオペレーティングシステムに存在する、システム全体にわたる特別な環境変数です。この変数の値は、システムディレクトリの場所(ドライブとパスを含む)です。ドライブは以下と同じですが%SystemDrive%、クリーンインストール時のデフォルトパスはオペレーティングシステムのバージョンによって異なります。デフォルトでは以下のようになります。
%windir%
この変数はWindowsディレクトリを指します。(Windows NTファミリのオペレーティングシステムでは、%SystemRoot%変数と同一です。)Windows 9598およびWindows MEは、デフォルトで「C:\Windows」にインストールされます。その他のバージョンのWindowsについては、%SystemRoot%上記のエントリを参照してください。

ユーザー管理変数は、システム内の様々なユーザープロファイルが所有するリソースと設定に関する情報を保存します。原則として、これらの変数は、OSの実行に必要な重要なシステムリソースや場所を参照するものではありません。

%ALLUSERSPROFILE%%PROGRAMDATA%Windows Vista以降)
この変数は、 All Usersプロファイルディレクトリへのフルパスに展開されます。このプロファイルには、すべてのシステムアカウントで使用されるリソースと設定が含まれています。All Usersスタートメニューまたはデスクトップディレクトリにコピーされたショートカットリンクは、すべてのユーザーのスタートメニューまたはデスクトップにそれぞれ表示されます。
%USERDOMAIN%
現在のユーザーが所属するワークグループまたはWindowsドメインの名前。関連変数 は、現在のユーザーのログイン資格情報(ユーザー名とパスワード)を認証したサーバーのホスト名%LOGONSERVER%を保持します。自宅のPCやワークグループ内のPCの場合、認証サーバーは通常、PC自体です。Windowsドメイン内のPCの場合、認証サーバーはドメインコントローラ(Windows NT 4ベースのドメインではプライマリドメインコントローラ(PDC))です。
%USERPROFILE%
Windows NTおよびその派生OSに存在する、システム全体にわたる特別な環境変数です。この値は、現在のユーザーのプロファイルディレクトリの場所を表します。このディレクトリには、ユーザーのHKCUレジストリハイブ(NTUSER)が格納されています。ユーザーはこの変数を使用して、アクティブなユーザーのログインIDを確認することもできます%USERNAME%

オプションのシステム変数はデフォルトでは明示的に指定されていませんが、特定の組み込みコンソールコマンドのデフォルトの動作を変更するために使用できます。これらの変数は、コマンドライン引数として明示的に指定する必要もありません。

デフォルト値

以下の表は、英語版Windowsにおける特定の環境変数の一般的なデフォルト値を示していますCMD。 これらの値は、 で取得できます

COMMAND.COM(これらの変数の一部は、Windows で実行しているときにも定義されますが、特定の重要な詳細が異なります。 ではCOMMAND.COM、環境変数の名前は常に大文字になります。すべての変数ではありませんが、一部の変数には長いファイル名ではなく8.3形式の短い名前が含まれます。環境内に存在する変数の一部が欠落していますが、環境に固有の変数もいくつかあります。) CMDCOMMAND

変数 ロケール固有 Windows XP (CMD) Windows Vista以降 (CMD)
%ALLUSERSPROFILE% [ 31 ]はい C:\Documents and Settings\All UsersC:\ProgramData [ 31 ]
%APPDATA% [ 31 ]はい C:\Documents and Settings\%USERNAME%\Application DataC:\Users\%USERNAME%\AppData\Roaming [ 31 ]
%CommonProgramFiles% [ 31 ]はい C:\Program Files\Common FilesC:\Program Files\Common Files [ 31 ]
%CommonProgramFiles(x86)% [ 31 ]はい C:\Program Files (x86)\Common Files (64 ビット版のみ)C:\Program Files (x86)\Common Files (64ビット版のみ) [ 31 ]
%CommonProgramW6432% [ 31 ]はい %CommonProgramW6432% (サポートされていないため、どの値にも置き換えられません)C:\Program Files\Common Files (64ビット版のみ) [ 31 ]
%COMPUTERNAME%いいえ {コンピュータ名} {コンピュータ名}
%ComSpec%いいえ C:\Windows\System32\cmd.exeC:\Windows\System32\cmd.exe
%HOMEDRIVE% [ 31 ]いいえ C: C: [ 31 ]
%HOMEPATH% [ 31 ]はい Documents and Settings\%ユーザー名%ユーザー\%ユーザー名% [ 31 ]
%LOCALAPPDATA% [ 31 ]はい %LOCALAPPDATA% (サポートされていないため、どの値にも置き換えられません)C:\Users\%USERNAME%\AppData\Local [ 31 ]
%LOGONSERVER%いいえ \\{ドメイン_ログオン_サーバー}\\{ドメイン_ログオン_サーバー}
%PATH%はい C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;{プログラムパスを含む}C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;{プログラムパスを含む}
%PATHEXT%いいえ .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.WSF;.WSH .com;.exe;.bat;.cmd;.vbs;.vbe;.js;.jse;.wsf;.wsh;.msc
%プログラムデータ% [ 31 ]はい %ProgramData% (サポートされていないため、どの値にも置き換えられません)%SystemDrive%\ProgramData [ 31 ]
%ProgramFiles% [ 31 ]はい %SystemDrive%\Program Files%SystemDrive%\Program Files [ 31 ]
%ProgramFiles(x86)% [ 31 ]はい %SystemDrive%\Program Files (x86) (64ビット版のみ)%SystemDrive%\Program Files (x86) (64ビット版のみ) [ 31 ]
%ProgramW6432% [ 31 ]はい %ProgramW6432% (サポートされていないため、どの値にも置き換えられません)%SystemDrive%\Program Files (64ビット版のみ)[ 31 ]
%PROMPT%いいえ 現在のコマンドプロンプト形式のコード(通常は$P$G現在のコマンドプロンプト形式のコード(通常は$P$G
%PSModulePath%)%PSModulePath% (サポートされていないため、どの値にも置き換えられません)%SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\
%PUBLIC% [ 31 ]はい %PUBLIC% (サポートされていないため、どの値にも置き換えられません)%SystemDrive%\Users\Public [ 31 ]
%システムドライブ% [ 31 ]いいえ C: C: [ 31 ]
%システムルート% [ 31 ]いいえ Windows ディレクトリ (通常はC:\Windows、以前はC:\WINNT)%SystemDrive%\Windows [ 31 ]
%TEMP% [ 31 ]および%TMP% [ 31 ]はい %SystemDrive%\Documents and Settings\%USERNAME%\Local Settings\Temp%SystemRoot%\TEMP(システム環境変数%TMP%および%TEMP%の場合)、%USERPROFILE%\AppData\Local\Temp [ 31 ](ユーザー環境変数%TMP%および%TEMP%の場合)
%USERDOMAIN%いいえ {userdomain} {userdomain}
%USERNAME%いいえ {USERNAME} {USERNAME}
%ユーザープロファイル% [ 31 ]はい %SystemDrive%\Documents and Settings\%USERNAME%%SystemDrive%\Users\%USERNAME% [ 31 ]
%windir% [ 31 ]いいえ %SystemDrive%\WINDOWS%SystemDrive%\Windows [ 31 ]

このリストには、ユーザーのマイドキュメントディレクトリの場所を参照する環境変数がないため、プログラムのホームディレクトリをマイドキュメントディレクトリ に設定する標準的な方法はありません

疑似環境変数

DOSとWindowsのコマンドプロセッサは、疑似環境変数もサポートしています。これらは環境変数のように取得される値ですが、実際には環境に保存されるのではなく、要求されたときに計算されます

ドス

変更または削除されるまで環境に静的に保存される真の環境変数に加えて、バッチ処理用の疑似環境変数がいくつか存在します

いわゆる置換パラメータまたは置換可能パラメータ(Microsoft / IBM用語)、別名置換変数(Digital Research / Novell / Caldera用語)[ 23 ]またはバッチファイルパラメータ(JP Software用語)[ 12 ]%1。バッチジョブの呼び出しパラメータを取得するために使用できます。( を参照%9)。バッチジョブでは、環境変数と同様に取得できますが、実際には環境に保存されません。 %0SHIFT

一部のコマンドラインプロセッサ(DR-DOSCOMMAND.COM[ 23 ]マルチユーザー DOSMDOS.COM / TMP.EXE(端末メッセージプロセス)、JP Software 4DOS4OS2Take Command(旧称 4NT)、Windows cmd.exeなど)は、システム情報変数(Novell / Caldera の用語)[ 23 ]または内部変数(JP Software の用語)[ 12 ]と呼ばれる疑似環境変数のタイプをサポートしており、これらを使用することで、バッチジョブで実行中のシステムに関するさまざまな動的だが読み取り専用の情報を取得できます。返される値は、これらの変数が照会された瞬間のシステムの状態を表します。つまり、同じコマンド内でも、複数回続けて読み取ると異なる値が返される可能性があります。これらの変数を照会しても、システムに直接的な影響はありません。これらは環境に格納されないため、SETによってリストされず、外部プログラムが取得するために存在しません。同じ名前の実際の環境変数が定義されている場合は、環境変数が再度削除されるまで、対応する変数よりも優先されます。大文字と小文字は区別されません。4DOSなどでは慣例的にこのような変数のほとんどすべてにアンダースコア(" ")が付けられますが(fe )、[ 12 ] DR-DOSではそうではありません(fe )。 _%_SECOND%COMMAND.COM%OS_VERSION%

さらに、4DOS、4OS2、4NT、Take Commandは、いわゆる変数関数[ 12 ]をサポートしており、ユーザー定義のものも含まれています。これらは内部変数と同様に機能しますが、オプションのパラメータ(fe %@EVAL[]%)をとることができ、その機能によってはシステムの状態を変更することもできます。

DR-DOS でサポートされているシステム情報変数COMMAND.COM:

%AM_PM%
この疑似変数は、現在時刻が正午前か正午過ぎかを返します。返される文字列は、DR-DOSのロケール固有のバージョンによって異なります。英語版では「am」または「 」になります。これは、 Novell NetWareログインスクリプトのpm同じ名前の識別子変数に似ています。
%DAY%
01この疑似変数は、現在の日付の日付を、先頭にゼロ(" ".." " )が付いた2桁の形式で返します31。類似の疑似変数も参照してください。これは、 Novell NetWareログインスクリプトの%_DAY%同じ名前の識別子変数に似ています。
%DAY_OF_WEEK%
この疑似変数は、3文字形式で曜日名を返します。返される文字列は、DR-DOSのロケール固有のバージョンによって異なります。英語版では、「Sun」、「Mon」、「TueWed、「 」、「 」Thu、「Fri」、または「 」となります。これは、 Novell NetWareログインスクリプトの同じ名前の識別子変数Satに似ています。
%ERRORLEVEL%
DR-DOS 7.02以降ではCOMMAND.COM、この疑似変数は外部プログラムまたはRETURNコマンドfe " 0".." 255"によって返された最後のエラーレベルを返します。[ 32 ] [ 33 ]%ERRORLEVEL% Windowsの同じ名前の疑似変数とIF ERRORLEVEL条件付きコマンドも参照してください。
%ERRORLVL%
DR-DOS 7.02以降では、この疑似変数は、先頭にゼロが付いた3桁の形式(fe " 000".." 255")で最後のエラーレベルを返します。[ 32 ] [ 33 ]マルチユーザーDOSでは、これはシェルによって終了プログラムの戻りコードに自動的に更新される真の環境変数です。[ 25 ]%ERRORLEVEL% DR-DOSの関連する疑似変数とIF ERRORLEVELコマンドも参照してください。
%GREETING_TIME%
この疑似変数は、3段階の曜日別グリーティング時刻を返します。返される文字列は、DR-DOSのロケール固有のバージョンによって異なります。英語版では「 」morning、「afternoon」、または「 」になります。これは、 Novell NetWareログインスクリプトのevening同じ名前の識別子変数に似ています。
%HOUR%
この疑似変数は、先頭にゼロ(" 1".." ")を付けずに、現在の時刻の時間を12時間形式で返します。これは、 Novell NetWareログインスクリプトの12同じ名前の識別子変数に似ています。
%HOUR24%
この疑似変数は、現在の時刻の時を24時間形式で返します。2桁の数字で、先頭にゼロ(" 00".." ")が付きます。これは、 Novell NetWareログインスクリプトの23同じ名前の識別子変数に似ています。類似の疑似変数も参照してください。%_HOUR%
%MINUTE%
この疑似変数は、現在時刻の分を、先頭にゼロ(" 00".." ")が付いた2桁の形式で返します。これは、 Novell NetWareログインスクリプトの59同じ名前の識別子変数に似ています。類似の疑似変数も参照してください。%_MINUTE%
%MONTH%
01この疑似変数は、現在の日付の月を、先頭にゼロ(" ".." " )を付けた2桁の形式で返します。これは、 Novell NetWareログインスクリプトの12同じ名前の識別子変数に似ています。類似の疑似変数も参照してください。%_MONTH%
%MONTH_NAME%
この疑似変数は、現在の日付の月名を返します。返される文字列は、DR-DOSのロケール固有のバージョンによって異なります。英語版では、「January」、「February」 、「 」 March、 「 」、 April「 」May、「 」、「June」、「July」、「August」、「September」、「October」、または「 」となります。これは、 Novell NetWareログインスクリプトのDecember同じ名前の識別子変数に似ています。
%NDAY_OF_WEEK%
この疑似変数は、現在の週の曜日番号(" 1".." 7"、日曜日は" ")を返します。これは、 Novell NetWareログインスクリプトの1同じ名前の識別子変数に似ています。
%OS_VERSION%
この疑似変数は、環境変数 の現在の設定に応じてオペレーティングシステムのバージョンを返します%VER%%VER%が定義されていない場合は、%OS_VERSION%" " を返します。これは、Novell NetWare ログインスクリプト内のoff同名の識別子変数に似ています。Novell NetWareログインスクリプトでは、DR-DOS 以外のバージョンの DOS のバージョンも返される場合があります。
%SECOND%
00この疑似変数は、先頭にゼロ(" ".." ")が付いた2桁の形式で、現在の時刻の秒数を返します。これは、 Novell NetWareログインスクリプトの59同じ名前の識別子変数に似ています。類似の疑似変数も参照してください。%_SECOND%
%SHORT_YEAR%
93この疑似変数は、現在の日付の年を、先頭にゼロ( 「.. 99」、「00..」など)が付いた2桁の形式で返します。これは、 Novell NetWareログインスクリプトの92同じ名前の識別子変数に似ています。
%YEAR%そして%_YEAR%
Novell DOS 7以降でサポートされている疑似%YEAR%変数は、現在の日付の年を4桁の形式(fe " 1980".." ")で返します。これは、 Novell NetWareログインスクリプトの2099同じ名前の識別子変数に似ています。DR-DOS 7.02以降では、4DOSとの互換性のために追加され、同じ値を返します。[ 12 ]%_YEAR%
%/%
DR-DOS 7.02以降ではCOMMAND.COM、この疑似変数はシステムの現在のSwitChar/設定(「 」(DOSスタイル)または「-」(Unixスタイル))を返します。[ 34 ] [ 35 ]関連するCONFIG.SYSディレクティブSWITCHARと環境変数も参照してください%SWITCHAR%
%_CODEPAGE%
この疑似変数は、システムの現在のコードページ(" 1".." 65533")、" 437"、" 850"、" 858"を返します。この変数はもともと4DOSで導入されましたが[ 12 ]、 DR-DOS 7.02以降でも利用可能になりましたCOMMAND.COMCHCPコマンドも参照してください。
%_COLUMNS%
この疑似変数は、表示モード(" 40"、" 80"、" 132"など)に応じて現在の画面列数を返します。この変数はもともと4DOSで導入されましたが[ 12 ]、 DR-DOS 7.02以降でも利用可能になりました。DOS PlusのCOMMAND.COM同様の環境変数も参照してください。%$WIDTH%
%_COUNTRY%
この疑似変数はシステムの現在の国コード(" 1".." 65534")を返します。1米国の場合は" "、44英国の場合は" "、49ドイツの場合は" " 、ISO 860120049の場合は" "、 ISO 8601とユーロのサポートの場合は" "です。[ 35 ] [ 36 ]この変数はもともと4DOSで導入されましたが、[ 12 ] DR-DOS 7.02以降でも利用可能になりました。ディレクティブも参照してください。21049COMMAND.COMCONFIG.SYSCOUNTRY
%_DAY%
この疑似変数は、先頭にゼロを付けずに現在の日付の日数を返します(例:" 1".." 31")。この変数はもともと4DOSで導入されましたが、[ 12 ] DR-DOS 7.02以降でも利用可能になりましたCOMMAND.COM。同様の疑似変数も参照してください%DAY%
%_HOUR%
この疑似変数は、先頭にゼロを付けない24時間形式で現在の時刻の時間を返します(例:" 0".." 23")。この変数はもともと4DOSで導入されましたが、[ 12 ] DR-DOS 7.02以降でも利用可能になりましたCOMMAND.COM。同様の疑似変数も参照してください%HOUR24%
%_MINUTE%
この疑似変数は、先頭にゼロを付けずに現在の時刻の分を返します(例:" 0".." 59")。この変数はもともと4DOSで導入されましたが、[ 12 ] DR-DOS 7.02以降でも利用可能になりましたCOMMAND.COM。同様の疑似変数も参照してください%MINUTE%
%_MONTH%
この疑似変数は、先頭にゼロを付けずに現在の日付の月を返します(例:" 1".." 12")。この変数はもともと4DOSで導入されましたが、[ 12 ] DR-DOS 7.02以降でも利用可能になりましたCOMMAND.COM。同様の疑似変数も参照してください%MONTH%
%_ROWS%
この疑似変数は、表示モード(" 25"、" 43"、" 50"など)に応じて、現在の画面行数を返します。この変数はもともと4DOSで導入されましたが[ 12 ]COMMAND.COMDR-DOS 7.02以降でも利用可能になりました。DOS %$LENGTH%Plusの同様の環境変数を参照してください。
%_SECOND%
この疑似変数は、先頭にゼロを付けずに現在の時刻の秒数を返します(例:" 0".." 59")。この変数はもともと4DOSで導入されましたが、[ 12 ] DR-DOS 7.02以降でも利用可能になりましたCOMMAND.COM。同様の疑似変数も参照してください%SECOND%

ネットワークがロードされたDR-DOS でサポートされるシステム情報変数COMMAND.COM:

%LOGIN_NAME%
この疑似変数はユーザー名を返します。これは では常に動作しますNETXが、現在のドライブがPNWマップされたドライブである場合は、 Personal NetWareODI / VLMでも動作します(それ以外の場合は空文字列が返されます)。同様の名前の環境変数 も参照してください%LOGINNAME%
%P_STATION%
この疑似変数は、物理ステーション番号を " " 形式で返します????????????。値はネットワークアダプタのMACアドレスに依存しますが、上書き可能です。これは、 Novell NetWareログインスクリプトの同じ名前の識別子変数に似ています。
%STATION%
この疑似変数は、最初のクライアントの「 」で始まる論理ステーション番号を返します。これらの番号はファイルサーバーによって割り当てられ、 IPX1接続が確立されている限り固定です。これは、 Novell NetWareログインスクリプトの同じ名前の識別子変数に似ています。
%FULL_NAME%
この疑似変数は、ログインしているユーザーのフルネーム(存在する場合)を返します。これは、Novell NetWareログインスクリプトの同名の識別子変数に似ています。関連する疑似変数も参照してください。%LOGIN_NAME%

Windows

動的環境変数( DOSでは内部変数またはシステム情報変数とも呼ばれます)は、コマンドライン拡張機能が有効な場合にWindowsでサポートされる疑似環境変数でありCMD.EXE、照会されるたびにさまざまな個別の値に展開されます。つまり、同じコマンド内でも複数回照会すると値が変化する可能性があります。バッチジョブやプロンプトで使用できますが、環境には保存されません。したがって、Windowsではリストされず、SET外部プログラムが読み取るためにも存在しません。大文字と小文字は区別されません

間接的には、コマンドを実行するために COMMAND.COM内部的に呼び出すように変更されたWindows の もサポートされています。CMD.EXE

%CD%
この疑似変数は、引数なしで呼び出された場合、コマンドの出力と等価のカレントディレクトリに展開されますCD。カレントディレクトリによっては では長いファイル名が返されることもありますが、 ではカレントディレクトリが常に8.3形式CMD.EXEであるため、では内部的に を呼び出している場合でも短いファイル名が返されます。COMMAND.COMCOMMAND.COMCOMMANDCMD
%CMDCMDLINE%
この疑似変数は、 の元の起動パラメータ(CMD.EXE例: " C:\Windows\system32\cmd.exe")に展開されます。Windows の では、 が内部的にを呼び出すためCOMMAND.COM、この変数は " " のような値を返す場合があります。C:\Windows\system32\cmd.exe /c ...COMMAND.COMCMD.EXE
%CMDEXTVERSION%
この疑似変数は、 のコマンドライン拡張機能がCMD.EXE有効になっている場合、そのバージョンに展開されます (例: Windows NT1では " " 、Windows 2000およびWindows XPでは " " )。2
%DATE%
この疑似変数は現在の日付に展開されます。日付は現在のユーザーの日付形式の設定に従って表示されます。
%ERRORLEVEL%
0この疑似変数は、最後に設定されたエラーレベル(「 」から「 」までの値255(先頭のゼロは除く))に展開されます。[ 32 ] [ 37 ] [ 33 ]%ERRORLEVEL%外部コマンドおよび一部の内部コマンドは、実行時にエラーレベルを設定します。DR -DOSの同名の疑似変数およびIF ERRORLEVELコマンドも参照してください。
%HIGHESTNUMANODENUMBER%
この疑似変数は、最高のNUMAノードの数を返します。
%RANDOM%
0この疑似変数は、「 」から「 」までの乱数を返します32767
%TIME%
この疑似変数は現在時刻を返します。時刻は、現在のユーザーの時刻表示形式設定に従って表示されます。変数%TIME%%DATE%変数の両方を使用する場合は、深夜0時ロールオーバーの問題を回避するために、両方の変数をこの特定の順序で連続して読み取ることが重要です。

その他のシェル

Unix系シェルにも同様の動的に生成される変数があり、bashは$RANDOMよく知られた例です。しかし、これらのシェルにはローカル変数の概念があるため、代わりに特別なローカル変数として記述されます。[ 38 ]

参照

注記

  1. 128文字を超える環境変数を適切に処理できないアプリケーションには、CadStar PCB Checkit、Computer Select CD-ROM、RenderMan、VINES NetworkWindows 3.0Word for Windows 6.0などがあります
  2. ^ 4DOSMS-DOS 7.0は長さを127に設定し、この位置にASCII-13を挿入しますが、 Borlandライブラリは長さを無効な値である128に設定し、ASCII-13を挿入しません。より短いコマンドラインの場合、4DOS/ NDOSおよびDR-DOSはASCII-13の後にASCII-0を挿入しますが、 INSTALLディレクティブ経由で呼び出された場合は挿入され。MS-DOSでは挿入されません。

参考文献

  1. ^ロビンズ、アーノルド、ビーブ、ネルソンHF(2005年5月)。アパンディ、タチアナランダル、アリソン、ウィットワー、アダム(編)。クラシックシェルスクリプト(第1版)。オライリー。ISBN 978-0-596-00595-5
  2. ^ 「unset - 変数と関数の値と属性の設定を解除する -」コマンドとユーティリティのリファレンス、単一UNIX仕様- The Open Group基本仕様、IEEE Std 1003.1-2008(第7版)。IEEEThe Open Group。2016 [2001]。 2017年12月18日にオリジナルからアーカイブ2017年12月18日閲覧
  3. ^ fgrose (2015-07-31) [2011]. 「組み込みコマンド unset」 . Bash Hackers Wiki . 2017年12月18日時点のオリジナルよりアーカイブ。 2017年12月18日閲覧
  4. ^ "putenv()" . PHPマニュアル. PHPドキュメンテーショングループ. 2025年11月9日時点のオリジナルよりアーカイブ。 2025年10月31日閲覧
  5. ^ 「putenv() PHP関数」。The Raided Foundationドキュメント。The Raided Foundation。2025年10月31日時点のオリジナルよりアーカイブ。 2025年10月31日閲覧
  6. ^ Jacobs, Mike; Koren, Alexander; Satran, Michael (2017年11月14日). 「設定とその他のアプリデータを保存および取得する」 . Microsoft . 2017年12月18日時点のオリジナルよりアーカイブ。 2017年12月18日閲覧
  7. ^ Raymond, Eric (2002-08-02) [初出2001年]. 「The BROWSER project」 . 2019年9月21日時点のオリジナルよりアーカイブ。 2020年10月21日閲覧
  8. ^ "LWN - Development" . LWN.net . 2001年2月1日.オリジナルから2019年2月8日にアーカイブ2020年10月21日閲覧。BROWSER環境変数の標準化。Eric Raymondは、既存のPAGER、MAILER、EDITOR変数を補完する新しい環境変数BROWSERの使用を推進しています。この取り組みは、社会システムハッキングの実験としてテストされています。
  9. ^ Špaček, Michal (2020-01-19) [初版2013年公開]. "Env::Browser-0.06" . metacpan.org . 2020年10月21日時点のオリジナルからのアーカイブ。 2020年10月21日閲覧。Env ::Browser - 環境変数$BROWSERを処理し、Webブラウザを実行する
  10. ^ "webbrowser — 便利なWebブラウザコントローラ" . docs.python.org . 2020年10月13日時点のオリジナルよりアーカイブ2020年10月21日閲覧。
  11. ^ "DefaultWebBrowser - Debian Wiki" . wiki.debian.org . 2020年6月10日. 2020年10月21日時点のオリジナルからのアーカイブ2020年10月21日閲覧。環境変数BROWSERを設定すると[…] 常に希望のブラウザが選択されます。
  12. ^ a b c d e f g h i j k l m n o p q r s t u v w x y z aa ab Brothers , Hardin; Rawson, Tom ; Conn, Rex C.; Paul, Matthias R.; Dye, Charles E.; Georgiev, Luchezar I. (2002-02-27). 4DOS 8.00 オンラインヘルプ.
  13. ^ a b c d e f g h i j k l m n o p q r Paul , Matthias R. (1997-07-30) [1994-05-01]. NWDOS-TIPs — Tips & Tricks rund um Novell DOS 7, mit Blick auf undokumentierte Details, Bugs und Workarounds . Release 157 (in German) (3 ed.). 2016-11-04時点のオリジナルよりアーカイブ。2014-08-06閲覧{{cite book}}:|work=無視されます (ヘルプ) (注: NWDOSTIP.TXT はNovell DOS 7OpenDOS 7.01に関する包括的な資料で、多くの未文書化の機能や内部構造の説明が含まれています。提供されているリンクは、コレクションの一部である HTML に変換されたファイルへのリンクですMPDOSTIP.ZIP。) [1]
  14. ^ a b c d e Paul, Matthias R. (1997-05-01) [1995-03-01]. "Hinweise zu JPSofts 4DOS 5.5b/c, 5.51, 5.52a und NDOS" . MPDOSTIP (ドイツ語). 2016年11月4日時点のオリジナルよりアーカイブ。 2015年5月8日閲覧4DOS5TIP.TXT(注:提供されたリンクは、コレクションの一部であるファイルのHTML変換バージョンを指していますMPDOSTIP.ZIP。)[2]
  15. ^ a b Paul, Matthias R. (1997年10月2日). 「Caldera OpenDOS 7.01/7.02 Update Alpha 3 IBMBIO.COM README.TXT」 . 2003年10月4日時点のオリジナルよりアーカイブ。 2009年3月29日閲覧[3]
  16. ^ Paul, Matthias R. (1997-05-27) [1996]. 「SETENV v1.11」2009年2月15日にオリジナルからアーカイブ。 2019年8月9日閲覧。 […] SETENV […] は、以前の環境を非表示にし、後で復元します。[…] SETENV.COM を使用すると、[…] INSTALL= / INSTALLHIGH= / HIINSTALL=によってロードされるドライバの数と、以前の環境の現在のサイズに応じて、数キロバイトの貴重な DOS メモリを節約できます。[…] この独自の[…] 機能は、既知のメモリマネージャ/オプティマイザには見当たりません。[…]
  17. ^ Paul, Matthias R. (2002-04-06). "Re: [fd-dev] ANNOUNCE: CuteMouse 2.0 alpha 1" . freedos-dev .オリジナルから2020年2月7日にアーカイブ2020年2月7日閲覧。[…] CTMOUSE.ASMのprepareTSRルーチンで、ゼロ環境に関するコメントを見つけました。[…] DESQviewDRDOSのゼロ環境のどちらが良いでしょうか?[…] 環境ブロックを解放[…] 問題があればスキップ[…] MEM形式のユーティリティではゼロパッド[…]
  18. ^ 「PTS-DOS 2000 Pro ユーザーマニュアル」(PDF)2018年5月12日時点のオリジナルよりアーカイブ(PDF) 。 2018年5月12日閲覧
  19. ^ Paul, Matthias R. (2002年10月7日). 「Re: COMファイルの実行」 .ニュースグループalt.msdos.programmer . 2017年9月3日時点のオリジナルよりアーカイブ。 2017年9月3日閲覧[4] 2017年9月3日アーカイブarchive.today
  20. ^ a b c d e f Datalight, Inc. ; GPvNO (2005年4月) [1999]. 「Datalight ROM-DOS ユーザーズガイド」(PDF) . Datalight, Inc. 3010-0200-0716. 2019年3月20日時点のオリジナルよりアーカイブ(PDF) . 2018年9月16日閲覧
  21. ^ a b c d e f g h i Kotulla, Martin (1987年11月). "Von CP/M zu MS-DOS, Teil 11" (PDF) . Professional Computing (PC) - Schneider International (ドイツ語). 3 (11): 100– 103. 2019年4月24日時点のオリジナルよりアーカイブ(PDF) . 2018年5月20日閲覧
  22. ^ a b c d e f g h i j k l m n Paul, Matthias R. (2002-03-26). 「CLS更新版を掲載」 . freedos-devメーリングリスト. 2018年10月4日時点のオリジナルよりアーカイブ。 2014年8月6日閲覧
  23. ^ a b c d e f g h Caldera DR-DOS 7.02 ユーザー ガイドカルデラ社、 1998 [1993、1997]。2016-11-04 のオリジナルからアーカイブ2013 年 8 月 10 日に取得
  24. ^ a b c d Paul, Matthias R. (2017-08-14) [2017-08-07]. 「OmniBook 300 における Windows 3.1 拡張モードの続編」 . MoHPC - HP 電卓博物館. 2018-05-01 にオリジナルからアーカイブ. 2018-05-01に取得. […] DRSYS=ON を設定する(SYS に、外部環境で実行していることを認識し、このシナリオで表示される警告や追加情報画面に個別に ACK せずに続行することを通知するオプション) […]
  25. ^ a b c d e f g h i CCI Multiuser DOS 7.22 GOLD オンラインドキュメント. Concurrent Controls, Inc. (CCI). 1997-02-10. HELP.HLP.
  26. ^ CCI マルチユーザー DOS 7.22 GOLD インストールガイド. Concurrent Controls, Inc. (CCI). 1997年2月10日. PRINTDOC.HLP.
  27. ^ a b c Paul, Matthias R. (2002-02-20). 「FreeCOM/FreeDOSをバッチ処理で検出するには?」 freedos-dev メーリングリスト. 2018年11月6日時点のオリジナルよりアーカイブ。 2014年8月6日閲覧
  28. ^ 「認識される環境変数 - Windows 展開」。2024 年 1 月 9 日。
  29. ^ Brink, Shawn (2018年11月17日). 「Windows 10の環境変数 - Windows 10の環境変数の完全リスト」 . Windows Ten Forums . 2019年3月27日時点のオリジナル記事よりアーカイブ。 2019年4月24日閲覧
  30. ^ 「WOW64 実装の詳細」
  31. ^ a b c d e f g h i j k l m no p q r s t u v w x y z aa ab ac ad ae af ag ag ai ajak Schulz、Hajo (2014-10-02) 「Ordner für spezielle Fälle — Die "benannten Ordner" in Windows aus User- und Entwicklersicht」 [特別な目的のフォルダー — ユーザーと開発者の観点から見た Windows の「名前付きフォルダー」]。c't - コンピュータ技術雑誌(ドイツ語)。2014年(平成22年)。Heise Verlag : 180–184オリジナルからは 2016 年 7 月 9 日にアーカイブされました2019年4月8日に取得
  32. ^ a b cポール、マティアス R. (1997-05-01) [1993-10-01]. BATTIPs — バッチジョブのプログラムに関するヒントとコツ(ドイツ語)。 7: エラーレベル アブフラゲン。2017-08-23 のオリジナルからアーカイブ2017 年 8 月 23 日に取得{{cite book}}:|work=無視されました (ヘルプ) [5] 2021年4月23日にWayback Machineアーカイブされました[6] 2017年9月11日にarchive.todayアーカイブされました(注: BATTIPS.TXTはMPDOSTIP.ZIPの一部です。提供されているリンクは、HTMLに変換された古いバージョンのBATTIPS.TXTファイルを指しています。) [7]
  33. ^ a b c Auer, Eric; Paul, Matthias R.; Hall, Jim (2015-12-24) [2003-12-31]. 「MS-DOS errorlevels」 . 2015年12月24日時点のオリジナルよりアーカイブ
  34. ^ Paul, Matthias R. (1998-01-09). DELTREE.BAT R1.01 Extended file and directory delete . Caldera, Inc. 2019年4月8日時点のオリジナルよりアーカイブ。 2019年4月8日閲覧
  35. ^ a b DR-DOS 7.03 WHATSNEW.TXT — DR-DOS 7.02 から DR-DOS 7.03 への変更点。Caldera , Inc. 1998年12月24日。2019年4月8日時点のオリジナルよりアーカイブ。 2019年4月8日閲覧
  36. ^ Paul, Matthias R. (2001-06-10) [1995]. 「DOS COUNTRY.SYS ファイルフォーマット」(COUNTRY.LST ファイル)(1.44 版)。2016年4月20日時点のオリジナルよりアーカイブ。 2016年8月20日閲覧
  37. ^ Allen, William; Allen, Linda. 「Windows 95/98/ME ERRORLEVELs」 . 2011年7月7日時点のオリジナルよりアーカイブ
  38. ^ 「シェル変数」 . Bashリファレンスマニュアル. 2018年3月15日時点のオリジナルよりアーカイブ。 2021年6月2日閲覧

さらに読む

「 https://en.wikipedia.org/w/index.php?title=環境変数&oldid=1336334285」より取得