[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[系统相关] [已解决]求助批处理输入时间,到达指定时间关机

本帖最后由 mzzyb 于 2023-7-14 11:58 编辑

本人写了一个到了指定时间关机的脚本,一直执行不出来,第一次执行读取不到时间变量,循环第二次就行,每次它计算的时间总是误差2分钟,请各位给我把把脉,谢谢。
下面的bat代码
  1. cd /d %~dp0
  2. :20
  3. echo (1设置自动关机)(2取消自动关机)
  4. set /p g=请输入选项:
  5. if %g% equ 2 (
  6. shutdown /a
  7. goto 20
  8. )
  9. set /p h=请输小时:
  10. set /p m=请输分钟:
  11. set /a nowh=%time:~0,2%
  12. set /a nowm=%time:~3,2%
  13. echo %nowh%
  14. echo %nowm%
  15. if %nowh% equ %h% (
  16. set /a "t1=(%m%-%nowm%)*60"
  17. shutdown /s /t %t1%
  18. goto 20
  19. ) else if %nowm% GTR %m% (
  20. set /a "t2=(%h%-%nowh%-1)*3600+(60-%nowm%+%m%)*60"
  21. shutdown /s /t %t2%
  22. goto 20
  23. ) else (
  24. set /a "t3=(%h%-%nowh%)*3600+(%m%-%nowm%)*60"
  25. shutdown /s /t %t3%
  26. goto 20
  27. )
复制代码
麻烦大家帮我看下,如果你们电脑上执行没问题,那我再找找其他原因
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

回复 2# Batcher


    谢谢版主,不懂就问:第6和第22行 goto :20加:和不加:有什么区别?
认真看了下,你的代码只是简化了我的代码,我想知道,为什么我的在我机子上执行不出来~~

TOP

回复 4# Batcher


    你的代码能执行成功,我只是想知道,为什么你那样写能执行成功,我那样写就不行,其中的原理是什么 ,或者说有没有参考网页,网址发我下,我自己去看,谢谢了

TOP

返回列表