【教程】choice命令简介及运用(有时间就顺带讲 for /l)
bat吧
全部回复
仅看楼主
level 12
Tauto-- 楼主
本人最近闲得蛋疼(好吧,这句话不太准确),无事来写篇教程。本人时间不多(刚还说闲的来着!),所以发布时间不定。在发完前
禁止插楼!!!
顺便
发个游戏合集,绝对是吧里最全!
2013年03月18日 14点03分 1
level 12
Tauto-- 楼主

一、
choice是神马?
choice是批处理命令之一,是通过第三方软件
choice.exe拓展的。
choice.exe是
Win
7以上系统自带的命令行工具,
XP以下就要自行下载并移动到
%windir
%\System32\ 下。
二、
choice到底是神马?!
choice,顾名思义,就是“选择”,实际上
choice是让用户进行键入然后判断;通俗地讲就是不用回车的
set /p。(当然有区别,
choice只能输入单个字符,而多个字符输入,如输入昵称等,则必须要用
set /p)
2013年03月18日 14点03分 2
我不会告诉你们我的签名档亮了
(够拽)
2013年03月18日 14点03分
注意到没?1.20正式版!!!
(奸笑)
2013年03月18日 14点03分
回复 灵感LPZ :怎么还弄上了Copyright,版权所有。。。
2013年03月19日 13点03分
回复 Byaidu : Some rights reserved.
2013年03月19日 14点03分
level 12
Tauto-- 楼主

加上>nul会怎样?
choice /c 12 /n:当你选择时,你输入的字符会显示在屏幕上,影响美观!

choice /c 12 /n >nul可以屏蔽你输入的字符,不在屏幕上显示。
目前,
Killer所有的
choice命令都加了
>nul。
2013年07月05日 03点07分 9
level 12
Tauto-- 楼主

五、返回值判断
那么,当我们熟悉了选择机制后,如何判断使用者输入了哪个选项?
如果是
set /p
set /p a=
if %a%==1 ………………
if %a%==2 ………………
if %a%==3 ………………
choice的返回值是环境变量
errorlevel的值,你选择的是第几项,
errorlevel的值就是什么。
例如:
choice /c abc /n
当你选择
a时,
a是第1个选项,所以
errorlevel的值为1
当你选择
b时,
b是第2个选项,所以
errorlevel的值为2
当你选择
c时,
c是第3个选项,所以
errorlevel的值为3
那么,语句应该这样写:
choice /c abc /n
if %errorlevel%==1 ………………
if %errorlevel%==2 ………………
if %errorlevel%==3 ………………
这应该是很简单的,相信初学者很快能掌握
2013年07月05日 03点07分 11
回复 185264646 :实际操作尚未有BUG显示
2013年07月17日 09点07分
level 12
Tauto-- 楼主

六、choice详解·下
让我们进入最激动人心的时刻——延时选择
现在我们就要用到
/t和
/d这两个参数
基本模式:
choice /c 123 /n /t n /d 1
这句话的意思是:让使用者选择1、2、3中的一个,若其n秒后再不选择,则自动选择1
2013年07月05日 04点07分 12
先发到这,回来继续,可以回复了
2013年07月05日 04点07分
回复 灵感LPZ :嗯 因为坟墓不见了。。。
2013年07月05日 04点07分
回复 命幽 :额……我记错了,谢谢提醒
2013年07月16日 04点07分
回复 灵感LPZ :?.... 额
2013年07月16日 04点07分
level 12
Tauto-- 楼主
/d后跟的字符必须存在在/c的列表中
2013年07月05日 04点07分 13
level 12
Tauto-- 楼主
choice /t和/d还有延时功能,众所周知,用ping可以延时
ping /n 2 127.1 >nul
而choice也可以
choice /c k /n /t 2 /d k
choice还有一个好处:当你想快速跳过时,不停按k即可
2013年07月05日 05点07分 14
killer的choice>nul为什么我用的时候不仅显示输入文字,而且输入后还要回车,取第一个字母。但又不怕引号,这是虾米原理
2013年07月05日 05点07分
bug
2013年07月05日 06点07分
什么版本
2013年07月05日 06点07分
别告诉我是0.90的
2013年07月05日 06点07分
level 12
Tauto-- 楼主
七、其它参数
/m是echo加choice,相当于set /p a=〔message〕一样。
/cs是区分大小写,通常是不区分的。
choice的优缺点将在下一章介绍
2013年07月05日 06点07分 15
lz继续啊?
2013年07月09日 04点07分
level 13
能按那么多"n"
2013年07月05日 07点07分 16
重新安装
2013年07月05日 07点07分
回复 灵感LPZ :两台电脑,XP和win7都是这样。另外自动安装无效,我只好手动安装,还有wj.exe同时被3金报毒
2013年07月05日 07点07分
好吧,我去看下
2013年07月05日 08点07分
好警局。。[开心]
2013年07月13日 00点07分
level 13
怎么被封禁了
2013年07月05日 07点07分 17
level 13
2013年07月05日 07点07分 18
不好意思插楼了
2013年07月05日 07点07分
怎么我看着很开心。。
2013年07月13日 01点07分
回复 韩新凯我 :早就恢复了。可恶的四年级,祝你早日升六年级。害得我一直回复,没办法去研究bat
2013年07月13日 01点07分
回复 这不是随便取的 :虾米?我还不是狂回复 = = 我是初二。。。
2013年07月13日 01点07分
level 5
专门给楼主点个赞。讲解很棒
2016年05月17日 01点05分 20
可怕[黑线]三年前初一时候写的。现在的Windows应该没人玩批处理了吧...
2016年05月18日 07点05分
回复 ◎Lopez :又是两年过去了,我还在玩啊[滑稽]
2018年05月22日 03点05分
level 2
呃。。。
2017年03月25日 03点03分 22
1