中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 脚本关机出错 请各位指点、优化下
作者:
标题: 脚本关机出错 请各位指点、优化下 上一主题 | 下一主题
feng1984
新手上路





积分 4
发帖 1
注册 2007-5-15
状态 离线
『楼 主』:  脚本关机出错 请各位指点、优化下

我本想做个限制时间开机的bat(晚上23点到7点不能用电脑). 开机启动的已做好,但现在考虑到那只是开机时才运行,对那些早些时候开的机一直没有关的电脑还是无效的,所以想做个每隔段时间就运行的bat,思路如下:

1、取得网络时间伺服器的时间,以防人家更改电脑的时间(怕命令不成功,所以循环了两次)
2、延时大约30秒
3、是取得时间,判断条件
4、根据条件作出相应的命令(关机,计划关机,计划启动本脚本)

但运行不成功,我分开命令运行却可以,所以感到迷惑,请各位指点,优化下。感激不尽!


———————贴上bat—————————————

@Echo Off
set p=
:rt
rem 设置时间伺服器
net time /setsntp:time.stdtime.gov.tw>nul 2>nul  
rem 停止时间服务
net stop w32time>nul 2>nul  
rem 启用时间服务
net start w32time>nul 2>nul  
rem 立即同步时间
w32tm -s>nul 2>nul
set /a  p=%p%+1
if %p% lss 2 (
  goto rt
) else (
ping -n 30 127.0.0.1>nul 2>nul
)
set tm1=%time:~0,2%
set tm2=%time:~3,2%
set /a tm3=%tm2%+10
if %tm3% GEQ 60 set /a tm4=%tm1%+1 & set /a tm5=%tm3%-60
set /a tm6=%tm1%+%tm2%/60
set /a tm7=%tm4%+%tm5%
if %tm7% gtr 2300 schtasks /delete /tn %tm1%%tm2% /f>nul 2>nul & schtasks /delete /tn 关机 /f>nul 2>nul & schtasks /create /tn "关机" /tr %windir%\system32\shutdown.exe -s -f -t 00" /sc once /st 23:00:00 /ru "">nul 2>nul & exit
if %tm6% lss 23 (
    if %tm6% geq 7 (
     schtasks /delete /tn %tm1%%tm2% /f>nul 2>nul
schtasks /create /tn %tm7% /tr %windir%\system32\GroupPolicy\Machine\Scripts\xsgj\xsgj.bat /sc once /st %tm7% /ru "">nul 2>nul
exit  
) else (
%windir%\system32\shutdown.exe -s -f -t 00      
)) else (
%windir%\system32\shutdown.exe -s -f -t 00
)

[ Last edited by feng1984 on 2007-5-15 at 09:27 PM ]

2007-5-15 21:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: