找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 84057|回复: 25

[系统相关] [已解决]根据冬天、夏天作息时间,自动关机。为啥只有17:28到17:29无法关机??

[复制链接]
发表于 2015-10-17 18:42:05 | 显示全部楼层 |阅读模式
本帖最后由 ygqiang 于 2015-10-19 19:46 编辑

[已解决]根据冬天、夏天作息时间,自动关机。为啥只有17:28到17:29无法关机??

请直接看16楼的问题。。。谢谢。。。

代码已经修改成正确的。。
  1. @echo off
  2. if "%1" == "h" goto begin
  3. mshta vbscript:createobject("wscript.shell").run("%~fs0 h",0)(window.close)&&exit
  4. :begin
  5. rem 下边开始写批处代码了



  6. ————————————————————————————————————————————————
  7. :first1-2

  8. set "t=%time: =0%"
  9. if "%t:~,5%" geq "11:27" if "%t:~,5%" leq "11:29" goto :first11
  10. if "%t:~,5%" geq "21:50" if "%t:~,5%" leq "21:55" goto :first11


  11. —————————————————————————
  12. set "tim=%date:~5,2%"
  13. if %tim% geq 01 if %tim% leq 04 goto :firstd
  14. if %tim% geq 10 if %tim% leq 12 goto :firstd

  15. if %tim% geq 05 if %tim% leq 09 goto :firstx
  16. —————————————————————————

  17. goto :firstx

  18. —————————————————————————
  19. :firstd
  20. if "%t:~,5%" geq "17:28" if "%t:~,5%" leq "17:29" goto :first11
  21. goto :firstn

  22. :firstx
  23. if "%t:~,5%" geq "17:58" if "%t:~,5%" leq "17:59" goto :first11

  24. —————————————————————————
  25. :firstn
  26. ping 127.0.0.1 -n 40 >nul 2>nul

  27. goto :first1-2




  28. ———————————————————————
  29. :first11
  30. ping 127.0.0.1 -n 5 >nul 2>nul

  31. :Main
  32. @Echo off
  33. cls
  34. ;瞬间清理进程
  35. REM 系统进程
  36. Echo.audiodg.exe>>c:\Server1.ini
  37. Echo.cmd.exe>>c:\Server1.ini
  38. Echo.conhost.exe>>c:\Server1.ini
  39. Echo.csrss.exe>>c:\Server1.ini
  40. Echo.dllhost.exe>>c:\Server1.ini
  41. Echo.dwm.exe>>c:\Server1.ini
  42. Echo.explorer.exe>>c:\Server1.ini
  43. Echo.lsass.exe>>c:\Server1.ini
  44. Echo.lsm.exe>>c:\Server1.ini
  45. Echo.MacTray.exe>>c:\Server1.ini
  46. Echo.services.exe>>c:\Server1.ini
  47. Echo.smss.exe>>c:\Server1.ini
  48. Echo.svchost.exe>>c:\Server1.ini
  49. Echo.taskhost.exe>>c:\Server1.ini
  50. Echo.tasklist.exe>>c:\Server1.ini
  51. Echo.wininit.exe>>c:\Server1.ini
  52. Echo.winlogon.exe>>c:\Server1.ini
  53. Echo.WmiPrvSE.exe>>c:\Server1.ini

  54. Tasklist.exe>c:\Exelist1.txt

  55. FOR /F "skip=5" %%i in (c:\Exelist1.txt) do call :Cmpexe %%i

  56. DEL /F /Q c:\Server1.ini >Nul 2>Nul
  57. DEL /F /Q c:\Exelist1.txt >Nul 2>Nul

  58. ping 127.0.0.1 -n 2 >nul 2>nul
  59. shutdown.exe -s -t 3




  60. Echo. & Echo.结束,任意键再次执行。 & Pause >Nul & Goto Main

  61. :Cmpexe

  62.         FOR /F %%i IN (c:\Server1.ini) DO IF %*==%%i Goto :END
  63.         REM Echo. & Echo.任意键清理 %*
  64.         REM Pause >Nul
  65.         Taskkill.exe -IM %** -F

  66. :END
复制代码
发表于 2015-10-17 20:05:36 | 显示全部楼层
不如用计划任务
 楼主| 发表于 2015-10-17 20:49:40 | 显示全部楼层
不如用计划任务
CrLf 发表于 2015-10-17 20:05



    你好,用计划任务。。如果要修改/删除的话,比较麻烦啊。。

bat批处理代码,,可以直接打开bat文件,在记事本里面修改。。
发表于 2015-10-17 21:26:07 | 显示全部楼层
一样的,添加和删除任务计划也写到批处理里。
 楼主| 发表于 2015-10-17 21:27:36 | 显示全部楼层
回复 4# 依山居


    你好。。。感觉还是不如在bat文件里面,更直观啊。。。
发表于 2015-10-17 22:35:25 | 显示全部楼层
回复 5# ygqiang


    你这代码都写了一页,各种变量,直观个毛啊。
发表于 2015-10-17 22:52:31 | 显示全部楼层
  1. @echo off
  2. title 定时重启serv-u [依山居]17:36 2010-9-2


  3. ::计划任务名
  4. set tn=定时重启serv-u

  5. ::计划运行时间
  6. set st=07:00:00
  7. set tr=%0
  8. set mo=3

  9. ::运行用户计划的管理员用户


  10. if "%1"=="task" goto :task

  11. :start
  12. ::判断任务计划服务是否启动
  13. net start|find "Task Scheduler"||goto sctask

  14. ::判断计划是否已经添加
  15. schtasks /query|find "%tn%"||goto crtask



  16. :task
  17. net stop serv-u
  18. ping 127.0.0.1 -n 3|ECHO>nul
  19. net start serv-u

  20. goto :eof

  21. :sctask
  22. :: 设置启动任务计划服务
  23. sc config schedule start= auto
  24. ping 127.0.0.1 -n 3|ECHO>nul
  25. net start schedule
  26. goto start

  27. :crtask


  28. ::建立任务
  29. schtasks /create /ru "system" /sc hourly /mo %mo% /st %st% /tn "%tn%" /tr "%0 task"

  30. goto start

  31. 把上面代码复制另存为XX.BAT,扔到服务器,双击运行,会全自动建立一个每个小时自动重启一次SER-U的任务计划。

  32. 有些服务器还在使用破解版本的SERVU ,经常出现不能正常工作,随便写个批处理,扔到服务器一运行,自动建立一个重启SERVU 的任务计划
复制代码
 楼主| 发表于 2015-10-17 23:20:31 | 显示全部楼层
依山居 发表于 2015-10-17 22:52



    看着别扭。。。

而且我需要的是:定时关机。。。

冬天夏天要区分开。。。
发表于 2015-10-17 23:37:35 | 显示全部楼层
拉倒。
发表于 2015-10-18 00:00:42 | 显示全部楼层
本帖最后由 /zhqsystem/zhq 于 2015-10-18 00:08 编辑

将判断改成这种只取数字如果设定时间的时小于10则将"11"改成"空格时间"对比即可
  1. if /i "%time:~2%"=="11" if %time:~3,2% geq 27 if %time:~3,2% leq 29 echo=11:27-29分时执行
复制代码
发表于 2015-10-18 00:18:57 | 显示全部楼层
建议还是批处理为辅,schtasks为主。

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 嗯哼

查看全部评分

发表于 2015-10-18 01:42:46 | 显示全部楼层
脚本循环判断太浪费系统资源了,一向不建议这么做
其实用计划任务很简单,这里提供 10 种思路:
1、用一个计划任务开机启动一个脚本,由脚本判断当前季度,并添加一个计划任务在当天指定时间自动关机,这样只需要设置两个任务
10、用 /Create /M 来指定月份,写死四个季度各自的关机时间,需要十二个任务但免去脚本干预,强烈推荐(处女座除外)

有没有人知道这个梗...
发表于 2015-10-18 01:44:24 | 显示全部楼层
话说 schtasks /create 的 /mo 居然支持 onevent
居然没印象,难道是版本差异?
 楼主| 发表于 2015-10-18 07:04:31 | 显示全部楼层
回复 10# /zhqsystem/zhq


    多谢。。。为啥其他时间都可以自动关机。。只有17:28到17:29无法关机呢??
 楼主| 发表于 2015-10-18 07:05:29 | 显示全部楼层
将判断改成这种只取数字如果设定时间的时小于10则将"11"改成"空格时间"对比即可
/zhqsystem/zhq 发表于 2015-10-18 00:00



    你的代码。。感觉不如下面这种直观啊。。。

if "%t:~,5%" geq "17:58" if "%t:~,5%" leq "17:59" goto :first11
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-18 13:30 , Processed in 0.025434 second(s), 16 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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