我目前有一个批处理脚本,可以将当前日期时间保存到日志文件中。
注意:我从微软论坛获得了这个脚本,因为我不知道如何创建批处理脚本。虽然我知道如何用java开发,但在这种情况下我不想这样做。
@echo off
REM *DATETIME.BAT
REM *Copy date and time to create a new log file
echo.|date>datetime.tmp
echo.|time>>datetime.tmp
IF NOT EXIST datetime.tmp GOTO Error1
type datetime.tmp|FIND "current">datetime.log
rem del datetime.tmp
GOTO End
:Error1
Echo.
Echo There was an error processing the command.
Echo Unable to find temporary sort file DATETIME.TMP.
Echo.
GOTO End
:End
我可以理解这段代码是如何工作的,日志文件中的输出就是这样的:
The current date is: 01.01.2018
The current time is: 13:01:17,42
我想知道的是:如何在另一个脚本中读取日期和时间,并检查当前时间是否比保存的时间大1小时和/或当前日期是否为至少1天后。如果条件分别为真或不真,则应该有一个特定的返回值。
我希望我能够解释我的问题。谢谢!
答案 0 :(得分:0)
我写的这是批处理和vbscript的组合(为了得到昨天的日期),你可以做if
语句并匹配if date == previous date,你可以做一个类似的事情随着时间的推移
@echo off
set day=-1
echo >"%temp%\%~n0.vbs" s=DateAdd("d",%day%,now) : d=weekday(s)
echo>>"%temp%\%~n0.vbs" WScript.Echo year(s)^& right(100+month(s),2)^& right(100+day(s),2)
for /f %%a in ('cscript /nologo "%temp%\%~n0.vbs"') do set "result=%%a"
del "%temp%\%~n0.vbs"
set "YYYY=%result:~0,4%"
set "MM=%result:~4,2%"
set "DD=%result:~6,2%"
set "result=%yyyy%-%mm%-%dd%"
echo %result%
pause