こんにちは♪
この記事では、Windowsバッチを使って「PCの起動時間」を自動で記録する方法を、初心者の方にもわかりやすく解説していきます。
「パソコンをいつ起動したか知りたい」「勤怠管理や作業ログを簡単に残したい」という方におすすめの内容です。
Windowsバッチでできることとメリット
バッチファイルとは、Windowsのコマンドをまとめた小さなプログラムのことです。
実行すると複数の操作を自動で行えるため、毎回同じ作業を繰り返す必要がなく、とても便利です。特に起動時間を自動で記録しておくと、次のような多くのメリットがあります。
- 自分の作業開始時間を自動で残せるので、後から振り返りがしやすい
- 在宅勤務やリモートワーク時の稼働ログとして活用できる
- トラブル発生時の原因調査や復旧作業にも役立つ
- 長期間のデータを蓄積すれば、勤務時間や稼働傾向の分析にも使える
しかも、複雑なプログラミング知識は必要なく、数行のコマンドを覚えるだけで始められます。
難しい設定は不要なので、初心者の方でも安心して使いこなせます。
バッチファイル作成前の準備
ファイル拡張子の表示を有効にする
バッチファイルは .bat
という拡張子で作ります。
初期設定では拡張子が表示されないことがあるため、まずは「表示」タブから拡張子を表示する設定を有効にしましょう。
この設定をしておくと、ファイル名の最後に正しい拡張子をつける際に迷わなくなり、バッチファイルを正しく作成できます。
エディタの選び方
メモ帳でもOKですが、より快適に編集したい場合はVS Codeやサクラエディタなど、行番号が表示されて見やすいエディタを使うのがおすすめです。
特にVS Codeはカラーハイライトや自動補完などの便利機能も備わっており、初心者でも安心して使えます。
どのエディタを使っても問題ありませんが、自分の作業スタイルに合ったものを選ぶと効率が上がります。
文字コードの設定
バッチファイルは、Shift-JISで保存するのがおすすめです。
特に日本語を含むコメントやログを扱う場合、UTF-8で保存すると文字化けすることがあるので注意が必要です。
エディタの設定で文字コードを指定できる場合は、必ずShift-JISに設定しましょう。もしUTF-8を使用する場合は、BOM付きUTF-8を選ぶと文字化けのリスクを減らせます。
PCの起動時間を取得する方法(基本編)
Windows標準コマンドで調べる
systeminfo
:システムの起動時間を一覧で表示net statistics workstation
:シンプルに起動時刻を表示
コマンドプロンプトで入力すると、すぐに確認できます。
日付と時刻の取得
バッチファイル内では、%date%
と %time%
という変数で日付と時間を取得できます。
例:
@echo off
echo %date% %time%
起動時間をログに書き込むバッチの作り方
サンプルコード
@echo off
set logfile=C:\log\boot_log.txt
echo %date% %time% >> %logfile%
コード解説
set logfile=
:ログを保存する場所を指定echo
:日付と時間を書き込み>>
:追記モードでログを保存
これで、起動するたびに時間を自動で残せます。
起動時間を自動記録する設定方法
スタートアップに登録する
- 作成したバッチファイルをコピーし、スタートアップフォルダに貼り付けます。このフォルダに入れておくと、Windowsの起動時に自動でバッチファイルが実行されます。
- フォルダの場所は「Win + R」で「shell:startup」と入力すると簡単に開けます。必要に応じてショートカットを置く方法も便利です。
タスクスケジューラで自動化
- 時間を指定して実行するだけでなく、特定の曜日や条件を設定可能
- 特定のユーザーだけに適用できるのでマルチユーザー環境でも安心
- ログイン時やスリープ解除時など、柔軟にトリガーを設定可能
- タスク履歴を残すことで、実行状況を後から確認することもできます
ログを効率的に整理する応用テクニック
日付ごとにファイルを分割
set logfile=C:\log\boot_%date:~0,10%.txt
echo %time% >> %logfile%
ユーザー名やPC名も一緒に記録
echo %username%, %computername%, %date%, %time% >> %logfile%
CSV形式で保存してExcelで管理
ログをCSV形式で出力すれば、Excelで見やすく整理できます。
実務で役立つ活用シーン
- 勤怠管理:出社・在宅勤務の開始時刻を自動記録し、毎日の勤務状況を把握できます。さらに、過去のデータを活用すれば、働き方の傾向分析や時間配分の見直しにも役立ちます。
- 稼働状況の監視:複数PCの起動時間をまとめて管理することで、システム全体の利用状況を効率的にチェック可能です。例えば、部署ごとやユーザーごとの稼働データを比較すれば、リソース配分の改善にもつながります。
- セキュリティ対策:不正アクセスの検知や証跡管理に利用できるほか、異常な時間帯での起動やアクセスを早期に発見できます。情報漏えい防止やトラブル対応の観点からも非常に有効です。
バッチファイルのトラブルシューティング
実行できないとき
- 管理者権限で実行してみる
- ファイルの保存場所・拡張子を確認
ログが書き込まれないとき
- フォルダのアクセス権限をチェック
- パスの指定に誤りがないか確認
日本語が文字化けする場合
- 文字コードをShift-JISに変更して再保存
PowerShell・イベントビューアーとの比較
PowerShellで起動時間を取得
Get-CimInstance Win32_OperatingSystem | Select-Object LastBootUpTime
イベントビューアーでログを確認
Windows標準機能で詳細な起動・シャットダウン履歴を確認できます。
サードパーティツールとの違い
- バッチ:軽量でシンプル
- PowerShell:高機能で柔軟
- ツール:設定は簡単だけど安全性に注意
セキュリティ面での注意点
- ログファイルには個人情報を書かない
- 保存先フォルダのアクセス権限を見直す
- ネットワーク共有時は暗号化を検討
まとめ
- バッチファイルで起動時間を自動記録できるようになれば、日々の作業記録を手動で残す必要がなくなり、管理がとてもラクになります。
- 初心者でも簡単に設定できるため、特別なプログラミング知識は不要です
- 応用すれば業務効率化やセキュリティ強化にも役立ち、在宅勤務や複数端末管理でも大きな効果を発揮します
- 長期的にデータを蓄積すれば、分析やレポート作成にも活用可能です
まずはシンプルなサンプルコードから試して、仕組みを理解することが大切です。
慣れてきたらタスクスケジューラやCSV出力、さらにPowerShellとの併用など、より高度な応用機能にも挑戦してみましょう♪