会社や自宅で使用しているPCの起動時間を管理したいと思ったことはありませんか。
例えば「いつパソコンを立ち上げたか」「業務開始の時間を記録したい」「誰が使っているかを確認したい」といったニーズに対応するため、Windowsのバッチファイルを使って自動的に起動時間をログに残すことができます。
この記事では、バッチファイルの基礎から始めて、実際に「PCの起動時刻をログファイルに記録する方法」をわかりやすく解説します。さらに、応用としてログの整形方法や、タスクスケジューラと組み合わせた自動実行の仕組みまで紹介します。IT管理者だけでなく、自己管理や学習の一環としても役立つ内容になっています。
バッチファイルとは、Windowsに標準で搭載されている「コマンドプロンプトの命令をまとめて実行できるファイル」です。拡張子は.bat
または.cmd
で保存されます。
例えば以下のような内容をメモ帳に書いて保存すれば、それだけで簡単な自動処理が実行できます。
echo Hello World
pause
バッチはプログラミング知識が少なくても扱いやすく、PCのメンテナンスやログ取得、自動化処理に向いています。特に起動時間や終了時間の記録のように「繰り返し使う処理」に強みがあります。
PCが起動した瞬間の時刻を取得するには、Windowsが提供する環境変数や日時コマンドを利用します。
Windowsでは以下の環境変数が利用できます。
%DATE%
→ システムの日付(例:2025/08/17)%TIME%
→ システムの時刻(例:13:45:23.45)バッチでこれを記録するには以下のようにします。
echo %DATE% %TIME%
これを実行すると「2025/08/17 13:45:23.45」といった形式で出力されます。
ここから実際にログファイルへ書き込むバッチを作成してみましょう。
以下の内容をbootlog.bat
という名前で保存してください。
@echo off
set LOGFILE=C:\log\bootlog.txt
echo PC起動: %DATE% %TIME% >> %LOGFILE%
@echo off
→ 実行時のコマンド表示を抑制します。set LOGFILE=...
→ ログを保存するファイルを指定します。>>
→ ログファイルに追記します。このバッチを実行すると、指定したログファイルに起動時刻が記録されます。
例:
PC起動: 2025/08/17 13:45:23.45
PC起動: 2025/08/18 09:02:01.21
手動で実行するのではなく、PCの起動時に自動で記録されるように設定するのが実用的です。
bootlog.bat
をC:\log\
などに保存するWin + R
で「ファイル名を指定して実行」を開き、shell:startup
と入力これで、Windows起動時に自動的にバッチが実行されます。
さらに柔軟に制御するなら「タスクスケジューラ」を利用します。
これでユーザーがログオンした瞬間にログ記録が実行されます。
起動時間を記録していくと、ログが増えて見づらくなることがあります。以下の工夫で管理しやすくなります。
@echo off
set LOGDIR=C:\log
set LOGFILE=%LOGDIR%\boot_%DATE:~0,4%-%DATE:~5,2%-%DATE:~8,2%.txt
echo 起動: %DATE% %TIME% >> %LOGFILE%
これにより、日付ごとに別ファイルが作成されます。
echo %USERNAME% が起動: %DATE% %TIME% >> %LOGFILE%
複数ユーザーが使うPCでは、誰が起動したかが一目でわかります。
PC起動ログはさまざまなシーンで役立ちます。
公式な勤怠管理には適さない場合もありますが、補助的な記録としては有用です。
Windowsのバッチを使えば、PCの起動時間を簡単に記録することができます。
%DATE%
と%TIME%
で日時を取得シンプルな仕組みながら、業務管理やセキュリティの観点で大きな効果を発揮します。ぜひ試してみてください。