Windowsコマンド虎の巻

環境変数

環境変数についての基礎知識です。

定義済み環境変数

定義済み環境変数には以下のようなものがあります。

【定義済み環境変数】
環境変数説明値の例
%COMPUTERNAME%マシン名mypc
%HOMEDRIVE%ログインユーザのホームドライブC:
%HOMEPATH%ログインユーザのホームディレクトリ¥Users¥hoge
%OS%OS名Windows_NT
%Path%パスC:¥windows¥system32;~
%ProgramData%ProgramDataフォルダのパスC:¥ProgramData
%ProgramFiles%ProgramFilesフォルダのパスC:¥Program Files
%SystemDrive%システムドライブC:
%SystemRoot%システムルートC:¥windows
%USERDOMAIN%ログインドメインmydomain
%USERNAME%ログインユーザ名Administrator

パス(%Path%)は、pathコマンドでも表示できます。

ログインユーザ名を表示する

c:¥>echo %USERNAME% ⇒(例)taro

値を表示するには、echoコマンドで表示できます。

定義済みの環境変数の一覧を表示する

c:¥>set

定義済みの環境変数の一覧は、setコマンドで表示できます。

特殊環境変数

実行時点で値が変わるような環境変数もあります。

【特殊環境変数】
環境変数説明値の例
%CD%カレントディレクトリを返すC:¥temp
%DATE%現在日付を返す2018/07/01
%TIME%現在時刻を返す13:27:07.91
%RANDOM%0 から 32767 の間のランダムな数値を返す32767
%ERRORLEVEL%ERRORLEVEL(終了コード)を返す1
%CMDEXTVERSION%コマンドプロンプト拡張機能のバージョン番号を返す2
%CMDCMDLINE%コマンドプロンプトのパスを返す"C:¥Windows¥
System32¥cmd.exe"
%HIGHESTNUM
ANODENUMBER%
最大のNUMAノード番号を返す0

変数値の一部分を取得する

変数値の一部分を取得するサンプルです。

変数をそのまま出力

set x=ABCDEFGHIJ echo %x% ⇒ABCDEFGHIJ

以下サンプルは、この変数「x」を使用します。

先頭から4文字取得する

echo %x:~0,4% ⇒ABCD

先頭から4文字目以降を取得する

echo %x:~4% ⇒EFGHIJ

先頭から4文字目~2文字を取得する

echo %x:~4,2% ⇒EF

先頭から末尾の2文字前まで取得する

echo %x:~0,-2% ⇒ABCDEFGH

"E"を"X"に置換する

echo %x:E=X% ⇒ABCDXFGHIJ

日時フォーマット

日付や時刻をフォーマット指定で表示するサンプルです。

現在日付をYYYYMMDD形式で表示する

set now1=%date:~-10,4%%date:~-5,2%%date:~-2,2% echo %now1% ⇒(例)20180707

以下でもOKです。

echo %date:/=% ⇒(例)20180707

現在日付をYYYY-MM-DD形式で表示する

set now2=%date:~-10,4%-%date:~-5,2%-%date:~-2,2% echo %now2% ⇒(例)2018-07-07

以下でもOKです。

echo %date:/=-% ⇒(例)2018-07-07

現在時刻をHHMMSS形式で表示する

set time1=%time:~0,2%%time:~3,2%%time:~6,2% echo %time1% ⇒(例)215804

現在時刻をHH:MM:SS形式で表示する

set time2=%time:~0,2%:%time:~3,2%:%time:~6,2% echo %time2% ⇒(例)21:58:04

以下でもOKです。

echo %time:~0,8% ⇒(例)21:58:04