中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求高手指点,记得给例子,要简单明了的..
作者:
标题: 求高手指点,记得给例子,要简单明了的.. 上一主题 | 下一主题
xiaolai
初级用户




积分 49
发帖 19
注册 2007-9-4
状态 离线
『楼 主』:  求高手指点,记得给例子,要简单明了的..

我想实现在批处理里输入数字运行相应的命令,有人可以教我吗? 之前发过帖子了,可能因为我太笨了,看不懂你们给的例子,有高手可以教教我吗?.. 下面是我乱写的: @echo off choice /c:1为查看IP 2为关机 3为打开计算机 if errorlevel 3 goto jisuanji if errorlevel 2 goto guanji if errotlevel 1 goto ip :ip ipconfig :guanji shutdown :jisuanji calc


2008-3-6 16:46
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 2 楼』:  

在每个标签执行结束后,加个goto :eof


2008-3-6 17:02
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
xiaolai
初级用户




积分 49
发帖 19
注册 2007-9-4
状态 离线
『第 3 楼』:  

用了还是不行的?-_-....


2008-3-6 17:09
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 4 楼』:  

choice命令详解 choice [/c [Choices]] [/n] [/cs] [/tTimeout/dChoice] [/mText] 参数 /c Choices 指定用户选项键。显示时,选项键由逗号分隔,出现在括号([])中,后面跟着问号。如果未指定 /cChoices,默认情况下,choice 显示使用 [Y, N]。 /n 隐藏用户选项键。如果使用此命令行选项,将在提示符之前出现消息正文,选项仍处于启用状态。 /cs 指定用户选项键必须区分大小写。默认情况下,用户选项键不区分大小写。 /t Timeout /d Choice 指定在默认为指定键之前 choice 暂停指定的秒数。下表将描述 /t 命令行选项的值。 值 描述 Timeout 要暂停的秒数。可接受的值介于 0 到 9999 之间。如果使用 0,choice 在默认为指定键之前不暂停。 /d Choice 指定 Timeout 秒数之后的默认选择。您使用的字符必须在由 /cChoices 指定的选择集中。如果使用此命令行选项,还必须同时指定 /tTimeout。 /m Text 指定要在提示符之前显示的文字。如果您包括命令行选项字符(即 /)作为提示符之前的一部分文字,必须用引号将该文字引起来。如果未指定任何文字,choice 将只显示提示符。 /? 在命令提示符下显示帮助。 注释 • ERRORVALUE 环境变量被设置为用户从选择列表中选择的键的索引。您指派的第一个键将返回值 1,第二个将返回值 2,第三个将返回值 3,依此类推。如果用户按下一个不在您指派的键中间的键,Choice.exe 将发出警告声(即,它向控制台发送一个 BEL 或 07h 字符)。如果 Choice.exe 检测到错误情况,它就会返回错误值 255。如果用户按 Ctrl+Break 或 Ctrl+C,Choice.exe 就会返回错误值 0。当您在批处理程序中使用错误值参数时,请将它们以降序列出。 示例 请在批处理文件中键入下列语法: choice /c ync 运行 Choice.exe 时出现下列语句: [Y,N,C]? 请在批处理文件中键入下列语法: choice /c ync /n /m Yes, No or Continue? 运行 Choice.exe 时出现下列语句: Yes, No, or Continue? 按如下方式将文字添加到语法中: choice /c ync /m Yes, No, or Continue 运行 Choice.exe 时出现下列语句: Yes, No, or Continue [Y,N,C]? /t 命令行选项将设置一个时间限制(在该限制内用户必须响应),并指定当用户在该时间限制内没有作出响应时将显示的值。要将时间限制设置为五秒并指定 N 作为默认值,请在批处理程序中键入下列命令行: choice /c ync /t 5 /d n 当批处理文件启动 Choice.exe 时,将出现下列消息: [Y,N,C]? 如果用户未能在五秒钟内按下一个键,Choice.exe 将选择 N 并返回错误值 2。否则,Choice 将返回与用户所选对应的值


2008-3-6 17:18
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
xiaolai
初级用户




积分 49
发帖 19
注册 2007-9-4
状态 离线
『第 5 楼』:  

你写一段来,我弄成批处理运行看看... 我试了怎么还是不行的?.,.,


2008-3-6 17:25
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
abcd
银牌会员





积分 1436
发帖 739
注册 2007-10-11
状态 离线
『第 6 楼』:  

@echo off choice /c:123 if errorlevel 3 goto jisuanji if errorlevel 2 goto guanji if errotlevel 1 goto ip :ip ipconfig goto :eof :guanji shutdown goto :eof :jisuanji calc 如果还不行的话,请确定楼主的系统里存在choice.exe文件


2008-3-6 17:29
查看资料  发短消息 网志  OICQ (470237592)  编辑帖子  回复  引用回复
xiaolai
初级用户




积分 49
发帖 19
注册 2007-9-4
状态 离线
『第 7 楼』:  

没有choice.exe要怎么添加?我是在网吧的... SORRY,烦你那么久了..


2008-3-6 18:34
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
suntb
高级用户





积分 581
发帖 277
注册 2006-12-23
状态 离线
『第 8 楼』:  

加上pause以便查看代码运行结果 shutdown得改为shutdown -s才能实现关机 鉴于关机命令可能会造成程序未保存丢失信息,请自行更改
@echo off

:num
set /p num=请输入1-3的数字:
if %num%==3 goto jisuanji else (
  if %num%==2 goto guanji else (
    if %num%==1 goto ip else (
      goto :num
    )
  )
)


:ip
ipconfig
pause
goto :eof

:guanji
shutdown
pause
goto :eof

:jisuanji
calc
pause
[ Last edited by suntb on 2008-3-6 at 07:08 PM ]


2008-3-6 18:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
faultcode
初级用户





积分 120
发帖 60
注册 2007-10-26
状态 离线
『第 9 楼』:  

还是set /p 好用


2008-3-6 19:53
查看资料  发送邮件  发短消息 网志  OICQ (582954699)  编辑帖子  回复  引用回复

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


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



论坛跳转: