自动记录上班时间
程序员文章站
2022-06-26 19:47:57
...
每天上班打卡,弹性工作时间,可是下班时间就是记不住,哎,如果有什么办法,能记录我们上班时间,自动记录下班时间就好了。
介绍
今天介绍的主角批处理就能完成上面的事情,引用百度百科一段话:
批处理是一种简化的脚本语言,也称作宏。它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释> 器(通常是COMMAND. COM或者CMD.EXE)解
批处理文件图标释运行。类似于Unix中的Shell脚本。批处理文件具有.bat或者.cmd的扩展
命令行窗口
名,其最简单的例子,是逐行书写在命令行中会用到的各种命令。更复杂的情况,需要使用if,for,goto等命令控制程> > 序的运行过程,如同C,Basic等中高级语言一样。
主要思路
- 开机后,电脑自动执行批处理文件,记录上班时间,同时计算出下班时间,写入指定A文件
- 桌面创建快捷方式,随时查看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的快捷方式,将快捷方式复制到自启动目录即可,具体操作如下:
- 打开运行窗口
- 在打开的运行窗口中输入命令shell:startup,然后点击确定按钮。
- 这样就可以打开当前用户的启动文件夹,同样把需要启动的应用快捷方式复制到此文件夹中,也可以实现该文件随系统自动启动。
详细过程参考:设置自启动任务
查看下班时间
双击act.bat文件,即可模拟开机过程,在act.bat目录中会创建time.txt文件,即可查看下班时间啦
之后每天开机电脑都会自动工作了,完美!!!
至此大功告成啦~~