批处理时间等于或小于某天执行下面的语句

如题:比如如果时间在2018年2月20日以前就执行批处理内容反之则提示不能运行时间验证最好是http获取。网络获取时间... 如题: 比如如果时间在2018年2月20日以前 就执行批处理内容 反之则提示 不能运行
时间验证最好是http获取。 网络获取时间
展开
 我来答
依梦琴瑶
高粉答主

2018-01-21 · 说的都是干货,快来关注
知道顶级答主
回答量:6.9万
采纳率:82%
帮助的人:1.7亿
展开全部
@echo off & title 获取网络日期并判断是否可以执行脚本 By 依梦琴瑶
cd /d %~dp0
setlocal enabledelayedexpansion

::设置最终日期,格式为 yyyy-mm-dd
set lastDate=2018-02-20

::获取网络时间以及判断
echo 正在检测中,请稍等 ...
call :GetNetworkTime nowDate "%lastDate:-=%"

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

rem 此区域写正常执行的脚本代码
echo 现在日期 %nowDate%

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

:ExitScript
pause
exit

:NetworkError
echo 网络时间获取失败
goto ExitScript

:Expiration
mshta VBScript:Msgbox("本脚本运行期限已过。",vbSystemModal,"过期")(close)
goto ExitScript

:GetNetworkTime
pushd "%tmp%"
call :DownloadTimePage "https://cgi.im.qq.com/cgi-bin/cgi_svrtime"
if not exist GetBeiJinTime.dat goto NetworkError
for /f "tokens=1 delims= " %%a in (GetBeiJinTime.dat) do set "%~1=%%~a"
del GetBeiJinTime.*
echo "%nowDate:-=%"|findstr "^\"[0-9]*\"$" >nul || goto NetworkError
if "%nowDate:-=%" geq "%~2" goto Expiration
popd
goto :eof

:DownloadTimePage
(echo On Error Resume Next
echo Dim Xhp,Url,MyStream
echo Url="%~1"
echo Set Xhp=CreateObject^("Microsoft.Xmlhttp"^)
echo Xhp.Open "Get",Url,False
echo Xhp.Send
echo Set MyStream=CreateObject^("Adodb.Stream"^)
echo MyStream.Type = 1
echo MyStream.Open
echo MyStream.Write Xhp.ResponseBody
echo MyStream.SaveToFile "GetBeiJinTime.dat",2)>GetBeiJinTime.vbs
set Count=0
:Loop
if %Count% gtr 2 goto :eof
GetBeiJinTime.vbs
set /a Count+=1
goto Loop
goto :eof

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式