中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 14:40
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » GOTO 跳转不到指定标签 查看 895 回复 6
楼 主 GOTO 跳转不到指定标签 发表于 2008-09-03 22:37 ·  中国 江西 吉安 电信
初级用户
★★
积分 78
发帖 64
注册 2008-08-29 11:09
17年会员
UID 124464
性别 男
状态 离线
@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 发表于 2008-09-03 22:42 ·  中国 江西 吉安 电信
初级用户
★★
积分 78
发帖 64
注册 2008-08-29 11:09
17年会员
UID 124464
性别 男
状态 离线
不好意思,解决了,原来是自己初心%a%两边没加双引号因该这样才对
if /i "%a%"
还有个问题就是我在找服务名的时候我直接在服务器名字旁边打双引号也开启不了
比如sc config "task scheduler" start= auto
不知道是为什么,还是在BAIDU找到了这个缩写才打开的,不知道要怎么才能方便的找服务器名在批处理里的缩写呢
3 发表于 2008-09-03 23:09 ·  中国 重庆 巫山县 电信
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
对服务进行操作,可以用分别用两个命令,sc或者net
sc start 后面跟服务的SERVICE_NAME
net start 后面跟服务的DISPLAY_NAME

task scheduler对应的SERVICE_NAME是Schedule
4 发表于 2008-09-04 10:46 ·  中国 江西 吉安 电信
初级用户
★★
积分 78
发帖 64
注册 2008-08-29 11:09
17年会员
UID 124464
性别 男
状态 离线
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 发表于 2008-09-04 10:55 ·  中国 江苏 苏州 中移铁通
银牌会员
★★★
积分 1,608
发帖 780
注册 2007-10-07 10:19
18年会员
UID 99089
性别 男
状态 离线
2>nul
6 发表于 2008-09-04 10:58 ·  中国 江西 吉安 电信
初级用户
★★
积分 78
发帖 64
注册 2008-08-29 11:09
17年会员
UID 124464
性别 男
状态 离线
恩,1>NUL 是屏蔽正确的输出 2>NUL 是屏蔽错误的输出
我刚才那个是服务正常开启的反馈信息,因该是正确的啊,为什么要用2>NUL呢
7 发表于 2008-09-04 13:34 ·  中国 上海 联通
版主
★★★★★
积分 9,023
发帖 5,017
注册 2007-05-31 19:39
19年会员
UID 89899
性别 男
状态 离线
SERVICE_NAME是服务器名啊,我是这样理解的不知道对不对,
不过你是用什么方法看出的他是SCHEDULE呢,还请详细说明下,谢谢

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

还有我在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
论坛跳转: