无忧启动论坛

标题: 求一关机批处理 [打印本页]

作者: yinyuan    时间: 2012-2-2 21:52
标题: 求一关机批处理
要求:设为自启动后 每次开机判断时间是不是23点10分-24点59分这个时间段内,如果是这个时间段,执行关机命令shutdown.exe关闭计算机,如果不是这个时间段就设定23点10分关机。多谢
作者: 2012Mark    时间: 2012-2-2 23:35
标题: 不知道你要干什么用?
@echo off

set /a ti=%time:~0,2%%time:~3,2%

if %ti% GEQ 2310 if %ti% LEQ 2459 shutdown -s

pause


以上是CMD脚本,自己试试看吧,适合吗!
作者: pznpt    时间: 2012-2-3 02:36
  1. @echo off
  2. set t=%time:~,2%&set m=%time:~3,2%
  3. if "%t%"==" 0" set t=24
  4. set t=%t%%m%
  5. if %t% geq 2310 (if %t% leq 2459 (shutdown /s /t 10 /c "即将关机"
  6. ) else (
  7.   at 23:10 shutdown /s /t 10 /c "即将关机"
  8.        )
  9. ) else (
  10.   at 23:10 shutdown /s /t 10 /c "即将关机"
  11.        )
复制代码


好像只有0:59,没有24:59吧?
需要先启动计划任务服务,Win7下以管理员权限运行。试试行不行。
作者: 2012Mark    时间: 2012-2-3 11:12
标题: 回复 #3 pznpt 的帖子
3楼正解,我大意了,不过我不知道,1楼到底想要达到什么效果,是在指定的时间段内关机呢,还是其他的?
作者: dato    时间: 2012-2-3 12:07
有点画蛇添足的感觉,如果要用命令行直接查找schtasks 命令相关参数。我就不知道这样的判断过程有什么必要。

http://www.cn-dos.net/forum/viewthread.php?tid=45111

除了命令行外,windows的计划任务还可以通过 拷贝相应的 .job 到相应的系统目录下来完成设置的过程。
作者: pznpt    时间: 2012-2-3 13:55
回复 #4 2012Mark 的帖子
猜楼主是不是想这样:在指定的时间段内不让开机,即使开机也立即关掉;而在非指定时间段内开机的话,就设定一下定时关机。
楼主?

原帖由 dato 于 2012-2-3 12:07 发表
有点画蛇添足的感觉,如果要用命令行直接查找schtasks 命令相关参数。我就不知道这样的判断过程有什么必要。

http://www.cn-dos.net/forum/viewthread.php?tid=45111

除了命令行外,windows的计划任务还可 ...

谢谢,学习了,受教了。
作者: yinyuan    时间: 2012-2-4 09:58
原帖由 pznpt 于 2012-2-3 13:55 发表
回复 #4 2012Mark 的帖子
猜楼主是不是想这样:在指定的时间段内不让开机,即使开机也立即关掉;而在非指定时间段内开机的话,就设定一下定时关机。
楼主?


谢谢,学习了,受教了。



是的, 在指定的时间段内不让开机,多谢楼上的朋友。
作者: dos时代菜鸟    时间: 2012-2-4 13:19
@echo off
set "s=shutdown -f -s -t 10 -c 电脑也需要休息!"
set t=%time%
if *%t:~0,1%*==*0* (set /a t1=%t:~1,1%) else (set /a t1=%t:~0,2%)
if *%t:~3,1%*==*0* (set /a t2=%t:~4,1%) else (set /a t2=%t:~3,2%)
echo %t1%:%t2%
if %t1% geq 23 (if %t2% gtr 10 %s%)
if %t1% leq 0   %s%
at 23:10 %s%

[ 本帖最后由 dos时代菜鸟 于 2012-2-4 13:35 编辑 ]
作者: ymmlqm    时间: 2012-2-4 14:35
标题: 谢谢
谢谢分享,
还请一并提供取消设置关机的批处理吧!

感激不尽!
作者: yinyuan    时间: 2012-2-4 22:49
3楼 8楼都不错,批处理我是小学2年纪水平,所以喜欢3楼的,容易看得懂。呵呵



原帖由 ymmlqm 于 2012-2-4 14:35 发表

谢谢分享,
还请一并提供取消设置关机的批处理吧!

感激不尽!



取消设置关机
shutdown /a
del /q  %windir%\Tasks\At*
作者: fghlw    时间: 2012-2-5 09:11
@echo off

rem lss
rem if %time% GTR 18:55 (goto 1)
rem if %time% GTR 6:55 (goto 2) else  goto end


set t=%time: =0%
set tt=%t::=%

if "%tt:~0,4%" GTR "1855" (goto 1)
if "%tt:~0,4%" GTR "0655" (goto 2)  else goto 1

:1
for /f "delims=" %%i in ('at') do (for /f "tokens=3 delims= " %%n in ("%%i") do (if %%n==7:27 goto end))
at 07:27 shutdown -s -t 180 -c "^_^" -f
goto end

:2
for /f "delims=" %%i in ('at') do (for /f "tokens=3 delims= " %%n in ("%%i") do (if %%n==19:27 goto end))
at 19:27 shutdown -s -t 180 -c "^_^" -f
goto end

:end
exit

我搞的  有点类似的
作者: sayhi1984    时间: 2012-2-6 10:50
原帖由 dos时代菜鸟 于 2012-2-4 13:19 发表
@echo off
set "s=shutdown -f -s -t 10 -c 电脑也需要休息!"
set t=%time%
if *%t:~0,1%*==*0* (set /a t1=%t:~1,1%) else (set /a t1=%t:~0,2%)
if *%t:~3,1%*==*0* (set /a t2=%t:~4,1%) else (set /a t ...

菜老师大名,如雷贯耳,呵呵。晚辈想问的是,这个内容里没有显示12:59的时间,是用到了百分比参数吗?如果我要设置具体时间的话,从哪里进行修改呢?

[ 本帖最后由 sayhi1984 于 2012-2-6 10:57 编辑 ]
作者: sayhi1984    时间: 2012-2-6 11:03
原帖由 fghlw 于 2012-2-5 09:11 发表
@echo off

rem lss
rem if %time% GTR 18:55 (goto 1)
rem if %time% GTR 6:55 (goto 2) else  goto end


set t=%time: =0%
set tt=%t::=%

if "%tt:~0,4%" GTR "1855" (goto 1)
if "%tt:~0,4%" G ...

大哥,你的时间段和楼猪的不一样啊,可以把明细讲讲吗?
作者: dos时代菜鸟    时间: 2012-2-7 15:29
多看看 set /? 和 if /? 就知道了。
作者: 2012saycpt    时间: 2012-2-21 20:42
很好,实用帖子 学习




欢迎光临 无忧启动论坛 (http://bbs.wuyou.net/) Powered by Discuz! X3.3