Windows10でTempやPathなどの環境変数を設定する方法

    • このページをはてなブックマークに追加

    普通にPCを利用していると触ることのないまま終わる方も多いですが、プログラミングに興味があったりIT関係の業務に就いていると、環境変数はしばしばお世話になる存在です。 今回は、自動アップデートからまだ慣れない方も多いWindows10における環境変数の設定について解説します。

    目次

    1.環境変数とは?

    1.1 環境変数とは

    環境変数(environment variabl)とは簡単にいうと、OSに設定を保存するためのシステム変数のことです。Windowsの場合は大きく分けて2種類あり、システム環境変数(systemroot)とユーザー環境変数(userprofile)があります。

    システム環境変数には、そのPCを利用する全ユーザが共有して利用する値が記録されています。一方のユーザ環境変数には、各ユーザ毎の個別の設定が記録されています。よく使う環境変数にはプログラムのインストール場所を表している「Path」や、一時保存ファイルの保管場所などが記録されている「TEMP」などがありますが、これらはシステム環境変数にもユーザ環境変数にも存在します。つまり全ユーザに変更の影響を与えたければシステム環境変数の「Path」や「TEMP」を、与えたくなければユーザ環境変数の同項目を変更するというような使い分けができるというわけです。

    ▲目次へ戻る

    1.2 ユーザー環境変数のデフォルト値

    ユーザー環境変数(userprofile)は、デフォルトで2種類存在します。

    TEMP %USERPROFILE%\AppData\Local\Temp
    TMP %USERPROFILE%\AppData\Local\Temp

    ▲目次へ戻る

    1.3 システム境変数のデフォルト値

    システム環境変数(systemroot)には、初期設定で14種類が存在します。そのデフォルトの設定値は、次表のようになっています。なお値は「表示」時のものではなく、「編集」時のものを使用しています。

    ComSpec %SystemRoot%\system32\cmd.exe
    NUMBER_OF_PROCESSORS ※論理プロセッサ数(スレッド数)により異なる
    OS Windows_NT
    Path %SystemRoot%\system32;
    %SystemRoot%;
    %SystemRoot%\System32\Wbem;
    %SYSTEMROOT%\System32\WindowsPowerShell\v1.0\
    PathEXT .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    PROCESSOR_ARCHITECTURE ※OSのビット数により異なる(32bit:x86、64bit:AMD64)
    PROCESSOR_IDENTIFIER ※CPUの種類により異なる
    PROCESSOR_LEVEL ※CPUの種類により異なる
    PROCESSOR_REVISION ※CPUの種類により異なる
    PSModulePath %ProgramFiles%\WindowsPowerShell\Modules;
    %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules
    TEMP %SystemRoot%\TEMP
    TMP %SystemRoot%\TEMP
    USERNAME SYSTEM
    windir %SystemRoot%

    ▲目次へ戻る

    column_image5205_01

    2.環境変数に関するよくあるエラー

    2.1 「パスを通す」とは「Path」を設定すること

    プログラミング環境を作っている時などによく耳にする「パスを設定する=パスを通す」とは、環境変数のうち1つである「Path」を設定するということです。

    「'●●●’は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません。」

    上記のエラーが発生する場合、この「Path」が正しく設定できていない可能性があります。実行したいプログラムの保存場所が「Path」の中にに含まれていない若しくは間違っている場合は、その保存場所のアドレスを「Path」に追加または修正することで、エラーを回避できるようになります。

    ◆Java環境構築時のパス設定例◆

    「Path」には、そのPCのjdkをインストールした場所のフルパスを指定します。そのため環境により差はありますが、次のような設定を追加するようになります。

    「C:\Program Files\Java\jdk1.X.X_XXX\bin」

    ▲目次へ戻る

    2.2 「作業ファイルを作成できません」の原因は「TEMP」

    Microsoft Office製品などを利用している際に、ファイルを保存しようとすると次のようなエラーが発生することがあります。

    「作業ファイルを作成できません。環境変数 TEMP の設定を確認してください」

    このエラーは作業用の一時ファイルをどこに保存すればいいか正しく設定できていない場合に発生し、その保存場所は環境変数「TEMP」に設定されています。他のソフトウェアをインストールした際に設定が書き換わってしまったなどの可能性がありますので、確認してみて下さい。変わっている場合、後述するデフォルト値に修正すればエラーが解消されるかもしれません。

    ▲目次へ戻る

    3.環境変数の設定(コントロールパネルから行う場合)

    3.1 環境変数一覧の確認とショートカット

    現在設定されている環境変数の一覧は、「システムの詳細設定」から確認可能です。Windows10の場合、次の2つのルートで画面遷移することで表示することができます。

    なおシステム画面はショートカットキー([Windows]キー+[Pause/Break]キー)で起動することも可能です。

    ・「コントロールパネル>システム>システムの詳細設定」
    ・「スタートボタン右クリック>システム>システムの詳細設定」

    column_image5205_02

    ▲目次へ戻る

    3.2 環境変数の新規・編集(追加・修正)・削除

    環境変数の設定画面には図のように、ユーザ環境変数とシステム環境変数それぞれに「新規」「編集」「削除」のボタンが用意されています。

    column_image5205_03

    (1)「新規」ボタン

    「新規」ボタンは、新たな環境変数の追加に使用します。

    column_image5205_04

    入力フォームに変数名と設定値を入力してOKボタンを押すと、追加が反映されます。

    column_image5205_05

    (2)「編集」ボタン

    「編集」ボタンは、すでにある環境変数に値を追加したり、修正したりする場合に使用します。

    column_image5205_06

    変更したい変数を選択して「編集」ボタンを押すと入力フォームが表示されますので、必要な値を追記したり、変更になったものに修正を加えたりすることができます。値を追加する場合は、半角セミコロン「;」を区切り文字とし、末尾に書き加えます。

    「削除」ボタン

    変更したい変数を選択して「削除」ボタンを押すと、該当する変数が削除されます。

    ▲目次へ戻る

    3.3 環境変数の反映タイミングと再起動

    環境変数の反映タイミングは、OKボタンを押すと即時です。OSの再起動は必要ありません。ただしその環境変数を使用するアプリケーションが立ち上がっている状態の場合、アプリケーション自体に反映させるためにはアプリケーションを一旦終了し再度立ち上げる必要があります。

    ▲目次へ戻る

    4.環境変数の設定(コマンドプロンプトから行う場合)

    4.1 環境変数一覧の確認

    コマンドプロンプトで環境変数を確認する場合は、「set」コマンドを使用します。

    set [検索文字列]

    「set」の後に半角スペースを空けて文字列(一文字でもOK)を入力すると、その文字列から始まる変数名のもののみが抜粋して表示されます。例えば「set T」と入力すると、Tから始まる環境変数「TEMP」と「TMP」が抜粋して表示されます。

    column_image5205_07

    ▲目次へ戻る

    3.2 環境変数の新規・編集(追加・修正)・削除

    環境変数に変更を加える場合も、同じ「set」または「setx」コマンドを使用します。

    set [変数名]=[設定文字列]
    setx [変数名] [設定文字列]

    column_image5205_08

    ▲目次へ戻る

    3.3 環境変数の反映タイミングと再起動

    「set」と「setx」の大きな違いは、変更タイミングです。「set」は実行した直後からそのプロセス内で有効になりますが、プロセスを終了すると変更が破棄されてしまいます。

    対して「setx」はすぐには有効にはなりませんが、プロセスを再起動すると反映されていることが確認できます。この「setx」を使用して設定した感興変数は、PCを再起動しても設定されたまま、破棄されることはありません。

    column_image5205_09

    設定を実行した直後は、「set」を使って設定した「TEST」のみが反映されています。

    column_image5205_10

    コマンドプロンプトを再起動すると、「TEST」が消えて「setx」を使った「TEST2」が反映されています。

    column_image5205_11

    コントロールパネルから確認しても、反映されたまま残っています。

    ▲目次へ戻る

    5.環境変数の編集は慎重に

    環境変数の編集は誤ると思いがけないところに影響があります。特に「システムの詳細設定」から修正する場合、削除にあたり確認画面などは表示されません。ボタンを押した瞬間に一発で消去されてしまいますので、間違えないよう慎重に作業するよう気を付けて下さいね。

    ▲目次へ戻る

    • このページをはてなブックマークに追加

    おすすめ記事

  • OCTPASS

    ピックアップ

    フリーランス

    【Java】システムエンジニア★人材会社向け基幹システム開発

    月額単価 :80万円〜

    人材会社向け基幹システムの開発を お任せします。 工程:基本設計、詳細~テスト(スキルによって...

    正社員

    【JavaScript/HTML】社内SE|国内TOPクラス老舗メーカー★未経験可

    年収 :350万円〜450万円

    ◆自社内で構築したシステムの開発・保守・運用業務 ◆国内トップクラスシェアメーカーの新規システムの...

    株式会社TJMデザイン

    正社員

    【Java/PHP】Webエンジニア|未経験OK!充実の研修有★離職率0%

    年収 :250万円〜

    ◆Webアプリケーションや業務システムの開発 ◆エンジニアのスキルや希望に応じた案件にアサインすること...

    株式会社エルシーツー

    正社員

    【Linux/C♯】開発エンジニア 自社セキュリティソフトの開発 ★時短可・残業手当全額支給

    年収 :300万円〜500万円

    ◆自社製品のセキュリティソフトの開発 ◆秘密分散技術を活用したアプリケーション及びサービスの企画・...

    株式会社イノベーション・ファーム

    フリーランス

    【Windows/VB.Net/SQL】アプリ開発エンジニア★材料管理システム

    材料管理システムの開発をご担当頂きます。 (工程: 開発~単体テスト、結合テスト)