本文へスキップ
BecomeCoder

バッチファイルコース · 第3章 変数を使う · レッスン10

環境変数 ― Windows が用意した変数

導入

自分で作らなくても、Windows があらかじめ用意してくれている変数があります。これを 環境変数 と呼びます。ユーザー名や一時フォルダの場所などが入っていて、どの PC でも同じ書き方で取り出せるので、汎用的なバッチを書くのに役立ちます。

説明

使い方は自分で作った変数と同じで、%名前% で取り出します。よく使うものを挙げます。

  • %USERNAME% … ログインしているユーザー名
  • %USERPROFILE% … そのユーザーのホームフォルダ(例 C:\Users\たろう
  • %TEMP% … 一時ファイル置き場
  • %DATE% … 今日の日付、%TIME% … 現在時刻
  • %CD% … 今いるフォルダ(カレントディレクトリ)
  • %PATH% … コマンドを探しに行くフォルダの一覧
@echo off
echo こんにちは、%USERNAME% さん
echo あなたのホーム: %USERPROFILE%
echo 今日は %DATE% です
echo 一時フォルダ: %TEMP%

環境変数を使うと、ユーザーごとに違うパスをハードコーディングせずに書けます。例えば「デスクトップにフォルダを作る」なら %USERPROFILE%\Desktop を使えば、どのユーザーが実行しても正しい場所を指します。

@echo off
mkdir "%USERPROFILE%\Desktop\新規プロジェクト"
echo デスクトップにフォルダを作りました

パスに空白が含まれることがあるので、環境変数でパスを組むときは ダブルクオートで囲む のが安全です。

一覧を見るには コマンドプロンプトで set(引数なし)と打つと、今使える環境変数がすべて一覧表示されます。どんな変数があるか眺めてみると発見があります。

やってみよう

%USERNAME%%DATE% を使って「〇〇さん、今日は△△です」とあいさつするバッチを書いてみましょう。自分の PC の情報が変数から取り出せるのが実感できます。