欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

自动记录上班时间

程序员文章站 2022-06-26 19:47:57
...

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

介绍

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

批处理是一种简化的脚本语言,也称作宏。它应用于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文件,即可查看下班时间啦

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

至此大功告成啦~~