需求:在周一到周五的时候定时执行某一操作
首先创建一个文本文档,后缀名改成.bat,然后打开文件写入代码,代码如下(rem为注释):
@echo off
rem 获取当前日期(周几),%DATE%是全量的时间,:~是截取的意思,第一位数字表示从哪一位开始(从1开始),第二位数字表示截取几位字符串,可以根据自己的需要截取
set today=%DATE:~11,2%
rem 打印当前日期
echo %today%
rem 声明一个字符串,可以理解成一个数组或者集合,使用for %%a in (%weekdays%) do ( echo %%a )
rem 可以看到是这样的
rem 周一
rem 周二
rem 周三
rem 周四
rem 周五
set weekdays=周一 周二 周三 周四 周五
for %%a in (%weekdays%) do (
rem 判断当前日期是不是在集合里面,是就执行一个url
rem 网上很多文档,博客都是写 set var=%%a,然后拿 %var% == %today%这样比较,实际验证不可行
rem 如果url需要携带参数,要这样 start iexplore "www.baidu.com?a=1&b=2"
if %%a == %today% ( start www.baidu.com )
)
测试就会发现每次执行就会打开一次ie浏览器,这时候就需要进一步的处理,升级版如下
if %%a == %today% ( start iexplore www.baidu.com
rem 这里的意思是歇10s,相当于java的sleep
ping -n 10 127.0.0.1>nul
rem 杀死ie的进程
taskkill /f /im iexplore.exe
)
特别说明一下bat的内容需要用ANSI编码,不然中文是乱码,还有就是当脚本去调用ie的时候有可能会被360杀毒等杀毒软件当作病毒
剩下的就是在Windows定时任务中添加此bat文件定时执行,mark一下