WindowsバッチでPCの起動時間を自動記録する方法|初心者から実務活用まで完全ガイド

生活

こんにちは♪

この記事では、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:日付と時間を書き込み
  • >>:追記モードでログを保存

これで、起動するたびに時間を自動で残せます。


起動時間を自動記録する設定方法

スタートアップに登録する

  1. 作成したバッチファイルをコピーし、スタートアップフォルダに貼り付けます。このフォルダに入れておくと、Windowsの起動時に自動でバッチファイルが実行されます。
  2. フォルダの場所は「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との併用など、より高度な応用機能にも挑戦してみましょう♪

 

タイトルとURLをコピーしました