Windows批处理:如何读取文件中的日期和时间并将其与当前日期和时间进行比较
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Windows批处理:如何读取文件中的日期和时间并将其与当前日期和时间进行比较相关的知识,希望对你有一定的参考价值。
我目前有一个批处理脚本,它将当前日期时间保存到日志文件中。
注意:我从微软论坛获得此脚本,因为我不知道如何创建批处理脚本。虽然我知道如何用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天。如果条件分别为真或不真,则应该有特定的返回值。
我希望我能够解释我的问题。谢谢!
答案
这是我写的这是批处理和vbscript的组合(为了得到昨天的日期),你可以做一个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
以上是关于Windows批处理:如何读取文件中的日期和时间并将其与当前日期和时间进行比较的主要内容,如果未能解决你的问题,请参考以下文章