Programming Field

TEMP環境変数・TMP環境変数 - DOS/コマンドプロンプト コマンド一覧

環境変数「TEMP」および環境変数「TMP」は、MS-DOSやWindows上で「一時ディレクトリ」として使用されるディレクトリのパス名を保持します。「一時ディレクトリ」は何かしらの処理を行う際に、データを一時的にダウンロードしたり一つのメモリブロックで扱いきれないような大きなデータを一旦ファイルとして置いたりするときの場所として利用されます。

解説

MS-DOSでは、環境変数「TEMP」に書かれた場所を、パイプ処理を行う際に一時的なファイルを作成する場所として使用されます。また、Diskcopyでも一時的なファイル置き場として使用されます。一時ディレクトリへのアクセス速度向上のため、RAMDRIVE.SYSで作成したRAMドライブ(再起動すると消えるメモリ上のドライブ)にディレクトリを作成して一時ディレクトリとする方法もあります。

Windowsでは、Win32関数の「GetTempPath」が返すパスがこの環境変数の値となります。まず「TMP」の値を確認し、値または指しているディレクトリが存在しない場合に「TEMP」の値を確認します。一時ディレクトリを使用したいアプリケーションは「TMP」「TEMP」環境変数を直接用いるか、GetTempPathやGetTempFileName関数を用いてパスを取得することで一時ディレクトリを使用することができます。

※ 「TMP」「TEMP」どちらも無効である場合は、Windows 95/98/Meでは現在のディレクトリ、Windows NT系ではWindowsディレクトリが使用されます。

サンプル

set TEMP=X:\Work
someapp.exe

一時ディレクトリを「X:\Work」に設定してから「someapp.exe」を実行します。