批处理如何判断当前所属时间段的上下班状态?

2024-11-28 21:35:05
推荐回答(1个)
回答1:

第一次上班时间保存在dt.txt 格式如下
2011-9-23 7:00

@echo off
set p=i:\test\y\
del m.vbs m.bat 2>nul
set dt=
set t=
set dt=2011-9-23 7:00
echo aa=datediff("h","%dt%",now)>m.vbs
echo CreateObject("WScript.Shell").Run "cmd /c echo set t="^&aa^&">%p%m.bat",^0>>m.vbs
m.vbs
ping -n 1 127.1>nul
call m.bat
set /a n=%t%/36+1
set /a m=%t%-%n%*36
set /a f=%n%%%2
echo 当前时间为:%date% %time:~,5%
if %f%==0 if %m% gtr 12 echo 当前状态为:休息时间(时间段为19点到次日19点)上班时间段为次日19点到次次日7点
if %f%==0 if %m% leq 12 echo 当前状态为:上班时间(时间段为7点到19点)休息时间段为19点到次日19点
if %f%==1 if %m% gtr 12 echo 当前状态为:休息时间(时间段为7点到次日7点)上班时间段为次日7点到次日19点
if %f%==1 if %m% leq 12 echo 当前状态为:上班时间(时间段为19点到次日7点)休息时间段为次日7点到次次日7点
echo 当前为止:已上班次数为%n%(不包括正在上班这次)
del m.vbs m.bat
pause