shutdown命令很容易搜到,但是定时关机或重启命令shutdown的取消却有时不灵,下面是我的经验。 

方法/步骤 

  1. shutdown命令的详细使用方法,用过shutdown的可以跳过此步骤。

    启动命令行:Win+R快捷键启动运行(或者win键点开始菜单里的运行),输入cmd命令,回车。要用管理员模式。

    查看shutdown详细用法:命令行中输入 shutdown.exe 或者 shutdown /?,回车,看到

    用法: shutdown.exe [/i | /l | /s | /r | /g | /a | /p | /h | /e] [/f]

        [/m \\computer][/t xxx][/d [p|u:]xx:yy [/c "comment"]]

    常用:

        /i         显示图形用户界面(GUI)。

                   这必须是第一个选项。

        /s         关闭计算机。

        /r         关闭并重新启动计算机。

        /a         中止系统关闭。

                   这只能在超时期间使用。

        /t xxx     设置关闭前的超时为 xxx 秒。

                   有效范围是 0-315360000 (10 年),默认值为 30。

                   如果超时时间大于 0,则默示 /f

                   参数。

    符号[A | B [C]] [D]:[]表示可选,嵌套时次级可选, | 是或。

    如果不习惯,可以使用-i -l -s -r -a等,也是可以执行的

    技术分享
  2.  

    设置计划任务:

    延迟300s关机:shutdown /s /t 300

        (也可以shutdown -s -t 300,以下按标准/的格式避免中文字符)

    每周日一二三四五六都在05:59重启(24小时制):

        at 05:59 /every:Su,M,T,W,Th,F,Sa shutdown  /r /f /t 0

     

        注:/t 0其实就是立刻执行;at命令同样可以cmd进入命令行,打at /? 回车

    用法:

    AT 命令安排在特定日期和时间运行命令和程序。

    AT [\\computername] [ [id] [/DELETE] | /DELETE [/YES]]

    AT [\\computername] time [/INTERACTIVE]

        [ /EVERY:date[,...] | /NEXT:date[,...]] "command"

    常用:

    id                   指定给已计划命令的识别号。

    /delete              删除某个已计划的命令。如果省略 id,    at id /delete

                         计算机上所有已计划的命令都会被删除。

    time                 指定运行命令的时间。

    /every:date[,...]    指定在每周或每月的特定日期运行命令。

                         如果省略日期,则默认为在每月的

                         本日运行。

    /next:date[,...]     指定在下一个指定日期(如,下周四)运

                         行命令。如果省略日期,则默认为在每

                         月的本日运行。

    "command"            准备运行的 Windows NT 命令或批处理

                         程序。

    技术分享
  3. 3

    查看计划任务:

    注意:shutdown 命令是交互模式的,并未创建计划任务项目,在计划任务里面找不到,只有用at 命令才能生成计划任务。

    A 计划任务GUI界面法

        控制面板(小图标显示方式)-> 管理工具 -> 任务计划程序 -> (右侧)任务计划程序库,可以看到第二个at命令是有的,而shutdown命令却没有。

    B 当然知道了第二个是属于at命令,也可以用命令行:

        运行 -> cmd -> at

        可以看到如果一开始不写ID,会默认从1开始分配ID(即使只输入at命令,仍然是一样的结果ID为1)

    技术分享
    技术分享
  4. 4

    A 通过步骤3可以知道针对at命令的取消方式也有两种:

        第一就是在任务计划程序库中右击删除,刷新一下就会看到成果

        第二就是用命令行输入 at 1 /delete 确认即可(1是ID号),输入at可以看到已经取消

     

    B 而shutdown命令的取消仍然在运行或者命令行里用shutdown命令 

        shutdown /a

        此时会有通知(如果shutdown和at命令都启用了,这个只能取消shutdown的延时任务,at的任务当然交给at命令了,即此命令打过后,再在命令行输入at查询会发现仍然有计划的任务,因此如果没关at命令会有虽然打了/a的命令却还关机)

        !!! 如果通知不幸被关了,怎么知道shutdown有没有取消成功呢?

            目前我只找到查询事件的办法:

            控制面板(小图标显示方式)-> 管理工具 -> 事件查看器 -> Windows日志/系统,主窗口中按日期和时间排序,最近的且来源为USER32的就是其记录,可以按照时间先后判断一下有没有取消,次数数起来困难就复制到其他文本编辑器里排序或者重启再设置吧。

    技术分享
    技术分享
    技术分享
    END

注意事项

 
  • 运行或命令行最好都以管理员运行