吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 9563|回复: 34
收起左侧

[其他原创] 【批处理】win10系统定时关机

  [复制链接]
圣血轩辕 发表于 2018-12-15 14:25
本帖最后由 圣血轩辕 于 2018-12-15 16:20 编辑

         前些天因为某某原因需要给一台电脑设备做定时关机,
         定时关机其实真的很简单,但菜鸟的我0 0是有理想有追求的
         一、别的语言类软件编程需要安装调试环境和编程软件,不绿色环保麻烦
         二、网上的一堆定时关机软件怕有毒,怕捆绑广告,怕兼容性不好,怕什么时候突然不好用
        最后决定还是自己写,直接用DOS命令,简单省事,本来很简单的事,一个at命令就搞定,
        at命令大家都用了N年了,都熟悉,找度娘分分钟钟的事你们懂的,
        但。。win10系统里没有at命令,当时蒙圈了
        后来找度娘一问,win10用了更高级的命令schtasks,这命令木有用过啊
        之后再咱们论坛上狂搜一顿,发现啥都没搜到,最后无奈只能在找度娘了,度娘一日不见如隔三秋,
        发现度娘那里schtasks的实例也不多,还各种有问题,一顿头晕眼花0   0之后和度娘缠绵了50多页,东拼西凑,拼出了我想要的代码
        功能实现
        每周的 星期一到星期四晚21:00定时关机,
                   星期五到星期日晚21:30定时关机。
        直接给代码,无附件,免CB,绿色环保大神不用看,菜鸟为了省点时间可以参考一下
        -----------------------------------我是邪恶的分割线,可惜我不够长------------------------------------------------------------------------------------------------------------------------------------------------------------
        @echo off
        schtasks /create /sc weekly /d mon,tue,wed,thu /tn "星期1到4关机任务" /tr "shutdown -s -t 0" /st 21:00 && schtasks /create /sc weekly /d fri,sat,sun /tn "星期5到7关机任务" /tr "shutdown -s -t 0" /st 21:30
        ping -n 5 127.1 >nul
        exit
        -----------------------------------我是邪恶的分割线
,可惜我不够长------------------------------------------------------------------------------------------------------------------------------------------------------------
        本来是两条命令添加两个任务的,为了省事,直接用&&链接了两条命令,ping那条是停顿5秒,用来看运行结果的,之后就exit退出了,在桌面上创建个txt文本文档,复制进去,另存为a.bat后直接运行

        补充一下,如何删除上面的定时任务,有免费评分的顶一下
        -----------------------------------我是邪恶的分割线,我已经够长--------------------------------------------------------------------------------------------------------------------------------
        @echo off
        schtasks /delete /tn 星期1到4关机任务 /F
        schtasks /delete /tn 星期5到7关机任务 /F
        ping -n 5 127.1 >nul
        exit
        -----------------------------------我是邪恶的分割线,我已经够长--------------------------------------------------------------------------------------------------------------------------------



       @echo off
       ::win7系统也可以用这个版本,但不支持win10
      at 21:00 /every:M,T,W,Th Shutdown -s -t 0 && at 21:30 /every:F,S,Su Shutdown -s -t 0
      ping -n 5 127.1 >nul
      exit        
     

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
c20090109 + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

静海流沙 发表于 2018-12-15 18:44
本帖最后由 静海流沙 于 2018-12-15 18:48 编辑

下面是我写的计划任务  ,可以自定义。楼主可以参考一下,自己完善一下脚本,可以自定义关机时间之类的



@echo off&title 创建host计划任务
:: 作者:静海流沙pcysanji
cls
cd /d %~dp0
>nul 2>&1 REG.exe query "HKU\S-1-5-19" || (
    ECHO SET UAC = CreateObject^("Shell.Application"^) > "%TEMP%\Getadmin.vbs"
    ECHO UAC.ShellExecute "%~f0", "%1", "", "runas", 1 >> "%TEMP%\Getadmin.vbs"
    "%TEMP%\Getadmin.vbs"
    DEL /f /q "%TEMP%\Getadmin.vbs" 2>nul
    Exit /b
)

call :menu
if %errorlevel%==0 echo       恭喜!创建成功
if %errorlevel% neq 0 echo    创建失败,请输入有效值!
echo.&echo.
echo          host计划任务详情
echo =======================
SCHTASKS /Query  /TN host计划更新
echo.
pause
cls
call "创建host计划任务.bat"
goto :eof
:menu
echo.  
echo.  
echo.  ==========================================================================
echo.  [1]   周更
echo.
echo.  [2]   月更
echo.
echo.  [3]   默认每周三下午16:00更新
echo.
echo.  [4]   日更
echo.
echo.
echo.  [X]   查看下次运行时间
===============================================================================
echo.
choice /C:1234X /N /M "请输入你的选项 :"
if errorlevel 5 goto :query
if errorlevel 4 goto :daily
if errorlevel 3 goto :default
if errorlevel 2 goto :monthly
if errorlevel 1 goto :weekly

goto :eof
:weekly
echo.
echo          有效值(按顺序代表周一至周日):
echo                  mon、tue、wed、thu、fri、sat、sun
echo.
set /p days=         请输入每周运行任务的日期:
echo.
echo          时间格式为 HH:mm (24小时制),例如 14:30 表示2:30 PM。
echo.
set /p time=         指定运行任务的开始时间:
echo.
schtasks /create /tn "host计划更新" /tr "%~dp0hosts去广告.bat" /sc weekly /d %days% /st %time%

goto :eof
:monthly
echo.
echo          有效值: 1 - 31
set /p month=         请输入每月内运行任务的日期:
echo.
echo          时间格式为 HH:mm (24 小时时间),例如 14:30 表示2:30 PM。
echo.
set /p time=         指定运行任务的开始时间:
schtasks /create /tn "host计划更新" /tr "%~dp0hosts去广告.bat" /sc monthly /d %month% /st %time%

goto :eof
:default
schtasks /create /tn "host计划更新" /tr "%~dp0hosts去广告.bat" /sc weekly /d wed /st 16:00

goto :eof
:daily
echo.
echo          时间格式为 HH:mm (24 小时时间),例如 14:30 表示2:30 PM。
echo.
set /p time=         指定运行任务的开始时间:
schtasks /create /tn "host计划更新" /tr "%~dp0hosts去广告.bat" /sc daily /st %time%

goto :eof
:query
echo.
echo.
echo          host计划任务详情
SCHTASKS /Query  /TN host计划更新
echo.
echo.
pause&call "创建host计划任务.bat"

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
圣血轩辕 + 1 + 1 内容很精彩我很感动请继续

查看全部评分

stoneliu 发表于 2018-12-15 14:38
貌似是第一个,虽然没有批量处理的需求,但是还是赞一下
akinet 发表于 2018-12-15 14:46
weliong 发表于 2018-12-15 14:47
有始 就要有终

你这个设定了自动关机计划后,怎么取消?!
shanguobaye 发表于 2018-12-15 14:58
恩  这个要赞一个。
八月未央 发表于 2018-12-15 15:02
weliong 发表于 2018-12-15 14:47
有始 就要有终

你这个设定了自动关机计划后,怎么取消?!

shutdown -a
weliong 发表于 2018-12-15 15:13

楼主这个情况 不知道能不能用这个
 楼主| 圣血轩辕 发表于 2018-12-15 15:20
weliong 发表于 2018-12-15 14:47
有始 就要有终

你这个设定了自动关机计划后,怎么取消?!

嗯,我在结尾处又更新了,在看看吧
 楼主| 圣血轩辕 发表于 2018-12-15 15:21
weliong 发表于 2018-12-15 15:13
楼主这个情况 不知道能不能用这个

shutdown -a    只是临时取消,但任务还在,我在结尾处更新了取消任务方法
weliong 发表于 2018-12-15 15:35
圣血轩辕 发表于 2018-12-15 15:21
shutdown -a    只是临时取消,但任务还在,我在结尾处更新了取消任务方法

双击后显示“网络地址无效”
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-16 09:00

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表