美文网首页
Windows计划任务(约等于Linux的crontab)

Windows计划任务(约等于Linux的crontab)

作者: 海生2018 | 来源:发表于2020-03-10 11:58 被阅读0次

    通过Windows的计划任务可以开启执行一些程序等等,相当便利
    通过UI交互方式配置已经有很多人写了,但是通过命令行却少有人写,我猜是微软写的文档太长了(狗头)
    通过命令行写主要是用于安装程序或者运维脚本等,实现定时或某个重要节点执行,而不用自己编写程序去实现(你知道,有些程序需要获取管理员权限,这对于运维来说是毁灭打击)

    1 UI交互方式

    贴一个我看到的Blog吧,https://www.cnblogs.com/VweiweiyixiaoV/p/6611380.html

    2 命令行CMD方式

    微软官方文档
    https://docs.microsoft.com/en-us/windows-server/administration/windows-commands/schtasks
    没事,知道你会说太长懒得看,那我就举个栗子
    下面的指令不区分大小写

    2.1 创建任务

    SCHTASKS /CREATE /SC MONTHLY /D 15 /TN "MyTasks\Notepad task" /TR "C:\Windows\System32\notepad.exe" /ST 11:00
    

    /create 就是创建的核心语法,有这个参数才知道是创建
    /sc 定义什么时候执行,可选项有 MINUTE, HOURLY, DAILY, WEEKLY, MONTHLY, ONCE, ONSTART, ONLOGON, ONIDLE, ONEVENT 顾名思义
    /d 定义了周几执行,可选项有MON, TUE, WED, THU, FRI, SAT, SUN. 当然如果你使用了之前的MONTHLY 那你就可以定义几号执行了 1 - 31 . 当然,用通配符*也是可以的,代表每一天
    /tn 任务名,如果没有MyTasks这个文件夹,计划任务管理器会帮你自动创建(这个文件夹是计划任务的文件夹,具体你使用过UI的就知道)路径最好带双引号,要不然有空格会很蛋疼
    /tr 真正的运行地址,需要给一个可运行的路径,例如上面的启动notepad,同样路径要带双引号
    /st 定义什么时间去运行,24小时制
    /ru 定义用哪个用户去跑,缺省默认的是创建这个任务的用户,如果你想要后台运行,你可以选择system 用户,这样的话就是后台跑程序了
    还有一个比较容易忽略的参数(至少我在微软的文档里没有看到),那就是/rl。用来定义运行程序的权限(有些程序没有最高权限是运行不了的),获取最高权限/rl highest

    你可能会问,我都用system用户去跑了,为什么不是最高权限?我理解system用户跑任务也可以使用普通权限和最高权限的,并不是system所有操作都带有最高权限,嗯,这个应该是和windows久远的权限系统有关

    2.2 查询

    schtasks /query
    

    会打印出所有的计划任务,想要停止任务的话,还是要使用taskkill 你的运行程序名

    2.3 修改和删除

    删除

    schtasks /delete /tn "task"
    

    修改

    schtasks /change /tn "task" /sc daily
    

    注意修改的时候/tn是不能改的哦

    更多用法请参考微软官方文档,写的已经很详细了

    相关文章

      网友评论

          本文标题:Windows计划任务(约等于Linux的crontab)

          本文链接:https://www.haomeiwen.com/subject/akspdhtx.html