連載
» 2004年02月14日 05時00分 UPDATE

Tech TIPS:WindowsでTempフォルダの場所を変更する

Tempフォルダには、アプリケーションやシステムで利用するさまざまな一時ファイルが作成される。Tempフォルダを全ユーザーやシステム全体で共通化すると、ディスクのクリーンアップ作業などが簡単になる。また、Tempフォルダをシステムドライブと分離するとパフォーマンス低下を抑えられる。

[打越浩幸,デジタルアドバンテージ]
Tech TIPS
Windows Server Insider


「Tech TIPS」のインデックス

連載目次

対象OS:Windows 2000 / Windows XP / Windows Server 2003



解説

 環境変数は、システム内部の各種のパスや設定値などを表すために使われる、システムやユーザーごとに設定されるパラメータである。MS-DOSの時代にはよく使われていたが、Windows環境でもその重要性はあまり変わっていない。Windowsアプリケーションを起動する場合でも、この環境変数はシステムの実行環境の1つとしてアプリケーションに渡されている。

 Windows環境でもさまざまな環境変数が定義されて使われているが(詳細は「TIPS―OSの種類によってバッチ・ファイルの処理を切り替える方法」参照)、その中でもよく使われるのはTEMPもしくはTMP環境変数であろう。アプリケーションが一時的な作業用のファイルを作成する場合、通常はこのTEMP環境変数の指し示す場所(以下「tempフォルダ」と呼ぶ)に作ることが多い。

 tempフォルダに作成されたファイルは、アプリケーションの終了時には削除されることになっているが、実際にはアプリケーションの作り方やtempファイルの管理方法などにより、プログラムが終了しても削除されずに残っていることがある。tempファイルは、既存のファイル名とは重複しないような名前で新規作成されることになっているため、システムの起動や終了などを繰り返していると、tempフォルダの中に非常に多くの一時ファイルが作成され、場合によってはそれらが削除されずに残っていることがある。tempフォルダの内容を確認するには、「TIPS―WindowsシステムのTempフォルダを簡単に開く」を参照していただきたい。さまざまな一時ファイルが作成されていることが確認できるだろう。

 tempフォルダの内容は、基本的にはシステムからログアウトするときにはすべて削除しても構わないものであるが、実際にはプログラムによって使われていたり、ほかのユーザーやサービスが使用していて、削除できなかったりする場合も多い。結果として、小さなサイズの一時ファイルが多数作成され、それらが削除されずに残っていて、ファイル・システムのパフォーマンスの低下を招いている可能性がある。

 このような事態を少しでも改善する手段として、tempフォルダの位置を変更するという方法がある。tempフォルダの場所としては、デフォルトではユーザーごとのプロファイル・フォルダの下(%userprofile%\Local Settings\Temp)や、システム・フォルダの下(%windir%\system32\Temp)が利用される。これらすべてを一カ所にまとめることにより、一時ファイルがシステム内のあちこちに分散して作成されることを防ぎ、ディスクのクリーンアップ作業などを簡略化できる(「TIPS―ディスク・クリーンアップ・ツールを定期的に実施してディスクの無駄を省く」参照)。またシステムドライブ(%systemdrive%)とは異なるドライブにtempフォルダを移動することにより、システムが格納されているパーティション(ボリューム)のフラグメント(断片化)の進行を抑えたり、(物理的に異なるドライブを利用して)一時ファイルへのアクセスをシステム・アクセスとは分離して、システム全体のパフォーマンスを改善したりすることができる。

操作方法

 一時フォルダの場所を指すための環境変数には、TMPとTEMPの2種類がある。もともとMS-DOSではTEMP変数が使われることが多かったが、TMP変数を参照するアプリケーションも少なくない(UNIXの一時フォルダは/tmpなので、これを意識している)。現在ではいずれもほぼ同じような意味で使われているので、どちらにも同じ値をセットしておけばよい。

 ユーザーごとのtempフォルダを廃止して全ユーザーで共通化し、さらにシステムで利用するtempフォルダも同じ場所に変更するためには、環境変数を次のように設定する(「TIPS―環境変数を変更する」も参照)。

 まずデスクトップ上の[マイ コンピュータ](Windows XP/Windows Server 2003の場合は[スタート]メニューの[マイ コンピュータ]でもよい)を右クリックし、ポップアップ・メニューから[プロパティ]を選択する。そして[詳細]タブにある[環境変数]をクリックする(Windows XP/Windows Server 2003の場合は[詳細設定]タブにある[環境変数]をクリックする)。

 表示された環境変数のうち、上段がユーザーごとの設定、下段がシステム全体で共通の設定である。同じ環境変数が両方に含まれていると、ユーザーごとの設定が優先される(。TMPやTEMP変数の定義はデフォルトでは両方に含まれているので、これを削除して、システム環境変数のTMPとTEMPを使うようにする。

TMP/TEMP環境変数の設定変更 TMP/TEMP環境変数の設定変更
TMPとTEMP環境変数は、ユーザーとシステムの両方で定義されている。ユーザーがログオンした場合にはユーザー環境変数が利用され、システム・サービスなどはシステム環境変数を利用している。これらの一時フォルダを別ドライブ上のフォルダに変更することにより、一時ファイルの分散を防ぎ、システムドライブのパフォーマンス低下を最低限に抑えることができる。
  (1)デフォルトでは、ここにはTMPとTEMP変数の定義が含まれているので、それらを削除する。
  (2)TMPとTEMP変数を選択し、これをクリックして削除する。
  (3)システムのTEMP環境変数の定義。
  (4)システムのTMP環境変数の定義。
  (5)内容を変数するにはこれをクリックする。ここではいずれも「D:\Temp」フォルダにしている。

 次に、システム環境変数側にあるTMPとTEMPの値を編集し、希望するフォルダを指し示すように変更する(編集するためには管理者権限でログオンしておく必要がある)。ここではいずれもD:\Tempに設定して、システムドライブ(C:)とは別のドライブ上にtempフォルダを確保している。このフォルダはあらかじめ管理者が作成して、Everyoneに対してフルコントロールのアクセス権を与えておく。

 環境変数の編集後、システムを再起動するとこれらの設定が反映されているはずである。[スタート]メニューの[プログラム]−[アクセサリ]−[コマンド プロンプト]を開いて、SETコマンドを実行し、TMPとTEMP環境変数の内容を確認しておこう。なおこの設定(ユーザー環境変数からのTMPとTEMPの削除)はユーザーごとに最初に1回だけ行う必要がある。新しいユーザー・アカウントでシステムにログオンした場合は、ユーザー側のTMPとTEMP環境変数の定義を削除して、再ログオンしていただきたい。

「Tech TIPS」のインデックス

Tech TIPS

Copyright© 1999-2016 Digital Advantage Corp. All Rights Reserved.

@IT Special

- PR -

TechTargetジャパン

Touch Barという新UIを得た「MacBook Pro」、プレゼント!

この記事に関連するホワイトペーパー

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。