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

[其他] [已解决]如何实现批处理在指定的某个时间关机?

[复制链接]
发表于 2011-6-25 19:26:17 | 显示全部楼层 |阅读模式
本帖最后由 a87750530 于 2011-6-26 21:03 编辑

例如:现在是2011年6月25日19点20分(然后电脑一直开着)
到2012年2月29日18点05分关机
也就是想在指定的某一个时间关机,并且能计算输入关机时间的正确性。年份么越久越好了!
这样的代码如何写,网上倒是定时关机的一大把,可是这样的就没有了,请教给位一下!谢谢!
  1. @echo off
  2. :powerdown
  3. MODE con: COLS=80 LINES=40
  4. cls
  5. color 0a
  6. echo ┌————————————————┐
  7. echo 丨                                丨
  8. echo 丨 %date:~0,4%年%date:~5,2%月%date:~8,2%日  星期%date:~-1,1%    %time:~0,2%时%time:~3,2%分         丨
  9. echo 丨                                丨
  10. echo └———————————————─┘
  11. echo.
  12. echo.
  13. echo.
  14. echo  格式为2011-06-25
  15. set /P date=请输入日期:
  16. echo [24小时制]
  17. set /p time1=请输入时:
  18. set /p time2=请输入分:
  19. echo.
  20. if /i "%date%"=="" goto powerdown
  21. if /i "%time1%"=="" goto powerdown
  22. if /i "%time2%"=="" goto powerdown
  23. at %date% %time1%:%time2% shutdown -s -t 0 >nul
  24. echo.
  25. echo 您的电脑将在%date% %time1%:%time2%时刻关闭
  26. echo.
  27. echo 在关机之前,您可以随时取消关机计划
  28. echo.
  29. echo.
  30. echo.
  31. pause
  32. exit
复制代码
我写了一下,貌似不会关机啊!

评分

参与人数 1PB +2 收起 理由
Batcher + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-6-25 19:35:40 | 显示全部楼层
schtasks一行搞定!~
不过schtasks比较复杂,很少人去玩
发表于 2011-6-25 19:38:10 | 显示全部楼层
如果要命令行的话,一个简单的schtasks就能搞定;
如果要交互,系统自带的任务计划向导多好啊,何必批处理?
发表于 2011-6-25 20:04:05 | 显示全部楼层
不知道楼主的本意是想要任意的年月日还是想只要能关机就行
如果是想要任意时间可以用at %random%
如果是要关机用shutdown
 楼主| 发表于 2011-6-25 21:29:13 | 显示全部楼层
本帖最后由 a87750530 于 2011-6-25 21:31 编辑

schtasks /create /ru system /tn shutdown  /tr shutdown .exe /st 08:00:00
是不是这样啊?
还不不明白请教楼上的at %random%怎么用在这个代码里面啊?
我是想要在某个时间关机,如现在是2011年6月25日,(然后电脑就一直开着)一直到2012年2月29日14点50分关机,
 楼主| 发表于 2011-6-25 22:36:34 | 显示全部楼层
本帖最后由 a87750530 于 2011-6-26 12:29 编辑
  1. @echo off
  2. :powerdown
  3. MODE con: COLS=80 LINES=40
  4. cls
  5. color 0a
  6. echo ┌————————————————┐
  7. echo 丨                                丨
  8. echo 丨 %date:~0,4%年%date:~5,2%月%date:~8,2%日  星期%date:~-1,1%    %time:~0,2%时%time:~3,2%分         丨
  9. echo 丨                                丨
  10. echo └———————————————─┘
  11. echo.
  12. echo.
  13. echo.
  14. echo  格式为2011-06-25
  15. set /P date=请输入日期:
  16. echo [24小时制]
  17. set /p time1=请输入时:
  18. set /p time2=请输入分:
  19. echo.
  20. if /i "%date%"=="" goto powerdown
  21. if /i "%time1%"=="" goto powerdown
  22. if /i "%time2%"=="" goto powerdown
  23. at %date% %time1%:%time2% shutdown -s -t 0 >nul
  24. echo.
  25. echo 您的电脑将在%date% %time1%:%time2%时刻关闭
  26. echo.
  27. echo 在关机之前,您可以随时取消关机计划
  28. pause
  29. exit
复制代码

请教楼长的这样关机可不可以?
经过测试,不会关机!如果去掉%date%这段,还有at %date%这段倒是会关机的!请高人帮忙!
发表于 2011-6-26 15:50:31 | 显示全部楼层
5# a87750530

没看清楚原来你说的是要指定年月日的
把你写的这代码改了下,你自己去测试下吧
  1. @echo off

  2. :powerdown

  3. MODE con: COLS=80 LINES=40

  4. cls

  5. color 0a

  6. echo ┌——————————————————┐

  7. echo 丨                                    丨

  8. echo 丨 %date:~0,4%年%date:~5,2%月%date:~8,2%日  星期%date:~-1,1%    %time:~0,2%时%time:~3,2%分 丨

  9. echo 丨                                    丨

  10. echo └—————————————————─┘

  11. echo.

  12. echo.

  13. echo.

  14. echo  格式为2011/06/25

  15. set /P date1=请输入日期:

  16. echo %date1%|findstr "^[2-9][0-9][0-9][0-9]/[0-1][0-9]/[0-3][0-9]$"||goto :错误

  17. if %date1:~0,4% lss %date:~0,4% goto :错误

  18. if %date1:~5,2% gtr 12 goto :错误

  19. if %date1:~8,2% gtr 31 goto :错误

  20. echo [24小时制]

  21. set /p time1=请输入时:

  22. echo %time1%|findstr "^[0-2][0-9]$"||goto :错误

  23. if %date1:~5,2% lss %date:~5,2% gtr 23 goto :错误

  24. set /p time2=请输入分:

  25. echo %time2%|findstr "^[0-5][0-9]$"||goto :错误

  26. set /p 密码=请输入计算机密码(没有请直接按回车键):

  27. echo,%密码%|schtasks /create /tn %random%%random%%random% /sc once /sd %date1% /st %time1%:%time2%:00 /tr "shutdown.exe -s -t 1"

  28. echo.&echo.&echo.

  29. echo 您的电脑将在%date1% %time1%:%time2%时刻关闭

  30. echo.

  31. echo 在关机之前,您可以随时取消关机计划

  32. pause>nul&exit

  33. :错误

  34. echo,你的输入有误,请重新输入......&pause>nul&goto :powerdown
复制代码

评分

参与人数 1技术 +1 收起 理由
Batcher + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-6-26 21:00:41 | 显示全部楼层
谢谢楼上的修改,可以关机了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-17 14:12 , Processed in 0.019559 second(s), 11 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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