中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: GOTO 跳转不到指定标签 上一主题 | 下一主题
THENEWLIFE
初级用户




积分 78
发帖 64
注册 2008-8-29
状态 离线
『楼 主』:  GOTO 跳转不到指定标签

@echo off
set /p a=按Y开启定时关机,按N关闭
if /i %a%=="y" goto kaiqi
if /i %a%=="n" goto guanbi
exit/b 0

:kaiqi
sc config schedule start= auto
net start "task scheduler"       
set /p b=请输入你要定时关机的时间,例10:30
if %b%=="" goto exit
at %b% shutdown -s -t 0
exit/b 0

:guanbi
sc config schedule start= disabled
exit/b 0
自己做了个定时关机的,不知道为什么GOTO就是跳转不到指定标签
我按"HAT大侠"教过我的查错方法在合适的位置加上了PAUSE发现GOTO跳转不过去.还请高人帮忙看看,还有我的"批处理"错在哪了,这个问题已经2次了有时又能跳过去,又时又不能,还请多忙帮讲解下.谢谢

2008-9-3 22:37
查看资料  发短消息 网志   编辑帖子  回复  引用回复
THENEWLIFE
初级用户




积分 78
发帖 64
注册 2008-8-29
状态 离线
『第 2 楼』:  

不好意思,解决了,原来是自己初心%a%两边没加双引号因该这样才对
if /i "%a%"
还有个问题就是我在找服务名的时候我直接在服务器名字旁边打双引号也开启不了
比如sc config  "task scheduler" start= auto
不知道是为什么,还是在BAIDU找到了这个缩写才打开的,不知道要怎么才能方便的找服务器名在批处理里的缩写呢

2008-9-3 22:42
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:  

对服务进行操作,可以用分别用两个命令,sc或者net
sc start 后面跟服务的SERVICE_NAME
net start 后面跟服务的DISPLAY_NAME

task scheduler对应的SERVICE_NAME是Schedule



2008-9-3 23:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
THENEWLIFE
初级用户




积分 78
发帖 64
注册 2008-8-29
状态 离线
『第 4 楼』:  

SERVICE_NAME是服务器名啊,我是这样理解的不知道对不对,
不过你是用什么方法看出的他是SCHEDULE呢,还请详细说明下,谢谢
还有我在sc config schedule start= auto 1>NUL
net start "task scheduler" 1>NUL
加上了1>NUL 为什么屏蔽不了输出呢

[ Last edited by THENEWLIFE on 2008-9-4 at 11:08 AM ]

2008-9-4 10:46
查看资料  发短消息 网志   编辑帖子  回复  引用回复
huahua0919
银牌会员




积分 1608
发帖 780
注册 2007-10-7
状态 离线
『第 5 楼』:  

2>nul

2008-9-4 10:55
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
THENEWLIFE
初级用户




积分 78
发帖 64
注册 2008-8-29
状态 离线
『第 6 楼』:  

恩,1>NUL 是屏蔽正确的输出 2>NUL 是屏蔽错误的输出
我刚才那个是服务正常开启的反馈信息,因该是正确的啊,为什么要用2>NUL呢

2008-9-4 10:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 7 楼』:  



  Quote:
SERVICE_NAME是服务器名啊,我是这样理解的不知道对不对,
不过你是用什么方法看出的他是SCHEDULE呢,还请详细说明下,谢谢

看看这个命令的结果
sc query state= all


  Quote:
还有我在sc config schedule start= auto 1>NUL
net start "task scheduler" 1>NUL
加上了1>NUL 为什么屏蔽不了输出呢

试试这个
sc config schedule start= auto>nul

sc config schedule start= auto>nul 2>nul




2008-9-4 13:34
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: