批处理时间等于或小于某天执行下面的语句
如题:比如如果时间在2018年2月20日以前就执行批处理内容反之则提示不能运行时间验证最好是http获取。网络获取时间...
如题: 比如如果时间在2018年2月20日以前 就执行批处理内容 反之则提示 不能运行
时间验证最好是http获取。 网络获取时间 展开
时间验证最好是http获取。 网络获取时间 展开
1个回答
展开全部
@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
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询