自动记录上班时间

每天上班打卡,弹性工作时间,可是下班时间就是记不住,哎,如果有什么办法,能记录我们上班时间,自动记录下班时间就好了。

介绍

今天介绍的主角批处理就能完成上面的事情,引用百度百科一段话:

批处理是一种简化的脚本语言,也称作宏。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释> 器(通常是COMMAND. COM或者CMD.EXE)解
批处理文件图标释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展
命令行窗口
名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。更复杂的情况,需要使用if,for,goto等命令控制程> > 序的运行过程,如同C,Basic等中高级语言一样。

主要思路

  1. 开机后,电脑自动执行批处理文件,记录上班时间,同时计算出下班时间,写入指定A文件
  2. 桌面创建快捷方式,随时查看A文件

创建批处理文件

找一个目录创建文件act.bat,并将如下代码复制到文件中,保存退出。

@echo off

copy time.txt temp.txt
del time.txt

::我的工作时间为9小时30分钟
set workHour=9
set workMinute=30

set year=%date:~0,4%
set month=%date:~5,2%
set day=%date:~8,2%

set /a hour=%time:~0,2%+%workHour%
set /a minute=%time:~3,2%+%workMinute%
set second=%time:~6,2%

::计算下班时间
if %minute% geq 60 (
set /a hour=%hour%+1
set /a minute=%minute%-60
)else (
set /a hour=%hour%+0
set /a minute=%minute%-0
)

::小时格式化
set hourStr=

if %hour% geq 10 (
set  hourStr=%hour%
)else (
set  hourStr=0%hour%
)

::分钟格式化
set minuteStr=

if %minute% geq 10 (
set  minuteStr=%minute%
)else (
set  minuteStr=0%minute%
)

echo 开机时间是 %date% %time%  我走的时间是  %date%  %hourStr%:%minuteStr%:%second% >>time.txt
type temp.txt>>time.txt
del temp.txt

创建开机自启动任务

打开自启动目录,创建act.bat的快捷方式,将快捷方式复制到自启动目录即可,具体操作如下:

  1. 打开运行窗口
  2. 在打开的运行窗口中输入命令shell:startup,然后点击确定按钮。
  3. 这样就可以打开当前用户的启动文件夹,同样把需要启动的应用快捷方式复制到此文件夹中,也可以实现该文件随系统自动启动。

详细过程参考:设置自启动任务

查看下班时间

双击act.bat文件,即可模拟开机过程,在act.bat目录中会创建time.txt文件,即可查看下班时间啦

之后每天开机电脑都会自动工作了,完美!!!

至此大功告成啦~~

你可能感兴趣的:(自动记录上班时间)