无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 5220|回复: 14
打印 上一主题 下一主题

求一关机批处理

[复制链接]
跳转到指定楼层
1#
发表于 2012-2-2 21:52:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要求:设为自启动后 每次开机判断时间是不是23点10分-24点59分这个时间段内,如果是这个时间段,执行关机命令shutdown.exe关闭计算机,如果不是这个时间段就设定23点10分关机。多谢
2#
发表于 2012-2-2 23:35:37 | 只看该作者

不知道你要干什么用?

@echo off

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

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

pause


以上是CMD脚本,自己试试看吧,适合吗!
回复

使用道具 举报

3#
发表于 2012-2-3 02:36:40 | 只看该作者
  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下以管理员权限运行。试试行不行。
回复

使用道具 举报

4#
发表于 2012-2-3 11:12:00 | 只看该作者

回复 #3 pznpt 的帖子

3楼正解,我大意了,不过我不知道,1楼到底想要达到什么效果,是在指定的时间段内关机呢,还是其他的?
回复

使用道具 举报

5#
发表于 2012-2-3 12:07:46 | 只看该作者
有点画蛇添足的感觉,如果要用命令行直接查找schtasks 命令相关参数。我就不知道这样的判断过程有什么必要。

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

除了命令行外,windows的计划任务还可以通过 拷贝相应的 .job 到相应的系统目录下来完成设置的过程。
回复

使用道具 举报

6#
发表于 2012-2-3 13:55:15 | 只看该作者
回复 #4 2012Mark 的帖子
猜楼主是不是想这样:在指定的时间段内不让开机,即使开机也立即关掉;而在非指定时间段内开机的话,就设定一下定时关机。
楼主?

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

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

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

谢谢,学习了,受教了。
回复

使用道具 举报

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


谢谢,学习了,受教了。



是的, 在指定的时间段内不让开机,多谢楼上的朋友。
回复

使用道具 举报

8#
发表于 2012-2-4 13:19:41 | 只看该作者
@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 编辑 ]
回复

使用道具 举报

9#
发表于 2012-2-4 14:35:23 | 只看该作者

谢谢

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

感激不尽!
回复

使用道具 举报

10#
 楼主| 发表于 2012-2-4 22:49:49 | 只看该作者
3楼 8楼都不错,批处理我是小学2年纪水平,所以喜欢3楼的,容易看得懂。呵呵



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

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

感激不尽!



取消设置关机
shutdown /a
del /q  %windir%\Tasks\At*
回复

使用道具 举报

11#
发表于 2012-2-5 09:11:52 | 只看该作者
@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

我搞的  有点类似的
回复

使用道具 举报

12#
发表于 2012-2-6 10:50:08 | 只看该作者
原帖由 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 编辑 ]
回复

使用道具 举报

13#
发表于 2012-2-6 11:03:20 | 只看该作者
原帖由 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 ...

大哥,你的时间段和楼猪的不一样啊,可以把明细讲讲吗?
回复

使用道具 举报

14#
发表于 2012-2-7 15:29:57 | 只看该作者
多看看 set /? 和 if /? 就知道了。
回复

使用道具 举报

15#
发表于 2012-2-21 20:42:08 | 只看该作者
很好,实用帖子 学习
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-13 15:26

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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