はじめに
タイムカードのない勤務先(客先常駐)で、自分自身で勤怠管理を行うとどうしてもルーズになりがちです。
僕は毎月月末になってひぃひぃ言いながら勤務表を作成しています。
でも、最近、歳のせいか、一週間前の勤務状況なんか覚えてません。
- 僕の脳みそのメモリは下野由貴ちゃん(HKT48)でいっぱいです(恋の病)。
社会人にあるまじきこの現状を打破する方法を考えました。
- しかし恋の病は相変わらずなので、よい処方箋があれば、速攻でストックさせていただきます。
簡単な仕様説明
- スタートアップ時にバッチを叩く(引数:IN)⇒ログに時間を記録する
- シャットダウン時にバッチを叩く(引数:OUT)⇒ログに時間を記録する
- ログファイルは日付ごとに作成する
- スタートアップ時、シャットダウン時というイベントハンドルはWindowsのグループポリシーを使う
バッチファイルご紹介
任意のファイル名で以下のバッチを作成します(例:E:\TIMECARD\kintai.bat)
@echo off
SET YYYY=""
SET MM=""
SET DD=""
FOR /F "usebackq delims=\/ tokens=1,2,3" %%i IN (`echo %date%`) DO (
SET YYYY=%%i
SET MM=%%j
SET DD=%%k
)
SET LOGNAME=%YYYY%%MM%%DD%.log
SET LOGPATH=E:\TIMECARD\log\%LOGNAME%
ECHO %TIME%【%1】 >> %LOGPATH%
起動準備
- グループポリシーエディタの起動
- win+rなどで[ファイル名を指定して実行]画面で"gpedit.msc"
- スクリプト(スタートアップ/シャットダウン)を編集
- ローカルコンピューターポリシー
- コンピューターの構成
- Windowsの設定
- スクリプト(スタートアップ/シャットダウン)
- Windowsの設定
- スタートアップのプロパティ画面にてスクリプトを登録
- スクリプト名:上掲のバッチへのパス
- スクリプトのパラメータ:IN
- 同様にシャットダウンのスクリプト登録
- スクリプト名:上掲のバッチへのパス
- スクリプトのパラメータ:OUT
出力例
20150610.log
10:14:23.39【IN】
16:09:52.29【OUT】
その他備考
- 遅刻したくせに早退していることについてはノーコメントでお願いします