中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-30 19:09
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 帮我弄一下关机批处理 查看 860 回复 3
楼 主 帮我弄一下关机批处理 发表于 2010-04-19 13:24 ·  中国 吉林 长春 电信
初级用户
积分 69
发帖 46
注册 2010-03-18 11:14
16年会员
UID 162446
性别 男
来自 山东
状态 离线
原文:
===========================================
@echo off

title 选择关机
color 3f
set /p chioce= 请输入命令\ 重启【r】\关机【s】\退出【q】
if %chioce%==r goto reboot
if %chioce%==s goto shutdown
if %chioce%==q goto end


:reboot
shutdown -r /t 10
goto rechioce

:shutdown
shutdown -s /t 10
goto rechioce

:rechioce
color f3
title 要取消关机吗
set chioce=
set /p chioce=取消关机【c】
if %chioce%==c goto cancle
goto end

:cancle
cls
shutdown -a
goto end

:end
exit
=========================================

在执行第一个选择命令是,敲入"e"等其他字母(不是q r s ),也会跳出关机提示,不是应该报错吗?
2 发表于 2010-04-19 13:31 ·  中国 陕西 西安 电信
铂金会员
★★★★
积分 5,212
发帖 2,478
注册 2007-02-08 23:39
19年会员
UID 79003
性别 男
状态 离线
代码依次执行

if %chioce%==r goto reboot
if %chioce%==s goto shutdown
if %chioce%==q goto end
::这里上面3个判断都没有成立
::如果你不转到别的地方就继续向下执行
::所以加一个:
goto :end
::当然你可以再输入的上面设置一个标签,如果不是那些
::字母的话跳过去重新输入
:reboot
shutdown -r /t 10
goto rechioce
S smile 微笑,L love 爱,O optimism 乐观,R relax 放松,E enthusiasm 热情...Slore
3 发表于 2010-04-19 14:12 ·  中国 吉林 长春 电信
初级用户
积分 69
发帖 46
注册 2010-03-18 11:14
16年会员
UID 162446
性别 男
来自 山东
状态 离线
如果不是设定的字母返回重新输入,怎么写语句啊?
4 发表于 2010-04-19 14:14 ·  中国 吉林 长春 电信
初级用户
积分 69
发帖 46
注册 2010-03-18 11:14
16年会员
UID 162446
性别 男
来自 山东
状态 离线
哦,,明白啦
thank U
论坛跳转: