中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 15:37
47,811 主题排行 / 349,896 发帖 / 今日 1 篇 / 48,254 会员排行
DOS批处理 & 脚本技术(批处理室) » GOTO 跳转不到指定标签
可打印版本  896 / 6
第1楼 THENEWLIFE 发表于 2008-09-03 22:37
初级用户 发帖 64 积分 78
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次了有时又能跳过去,又时又不能,还请多忙帮讲解下.谢谢
第2楼 THENEWLIFE 发表于 2008-09-03 22:42
初级用户 发帖 64 积分 78
不好意思,解决了,原来是自己初心%a%两边没加双引号因该这样才对
if /i "%a%"
还有个问题就是我在找服务名的时候我直接在服务器名字旁边打双引号也开启不了
比如sc config "task scheduler" start= auto
不知道是为什么,还是在BAIDU找到了这个缩写才打开的,不知道要怎么才能方便的找服务器名在批处理里的缩写呢
第3楼 HAT 发表于 2008-09-03 23:09
版主 发帖 5,017 积分 9,023
对服务进行操作,可以用分别用两个命令,sc或者net
sc start 后面跟服务的SERVICE_NAME
net start 后面跟服务的DISPLAY_NAME

task scheduler对应的SERVICE_NAME是Schedule
第4楼 THENEWLIFE 发表于 2008-09-04 10:46
初级用户 发帖 64 积分 78
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 ]
第5楼 huahua0919 发表于 2008-09-04 10:55
银牌会员 发帖 780 积分 1,608
2>nul
第6楼 THENEWLIFE 发表于 2008-09-04 10:58
初级用户 发帖 64 积分 78
恩,1>NUL 是屏蔽正确的输出 2>NUL 是屏蔽错误的输出
我刚才那个是服务正常开启的反馈信息,因该是正确的啊,为什么要用2>NUL呢
第7楼 HAT 发表于 2008-09-04 13:34
版主 发帖 5,017 积分 9,023
SERVICE_NAME是服务器名啊,我是这样理解的不知道对不对,
不过你是用什么方法看出的他是SCHEDULE呢,还请详细说明下,谢谢

看看这个命令的结果

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

试试这个

[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023