───────────────── 版主提示 ─────────────────
为了方便论坛用户浏览和版主管理,请修改该主题的标题,以简要叙述主题的内容或意图
如果确认标题不需要修改,请继续回复该主题进行申辩,若申辩理由充分,将取消该通知
如果确认标题需要修改,请点击该主题首帖下方"编辑"按钮,在编辑页面中修改标题栏
如果此通知发出三日后仍未进行申诉或修改,将由版主进行修改,并对作者进行相应处罚
处罚为扣除8点积分,包括追回因发表主题奖励的6分和因标题违规而惩罚性扣除的2分
───────────────── 版主提示 ─────────────────
Re Jonsgen:
DOS下没有内部命令和非第三方工具的外部命令可以直接提供你所需要的功能,但我们可以通过一些简单的批处理或者第三方提供的工具软件来完成将输入的字符(串)存储到环境变量中。
现给出批处理的方案,引自略作修补,至于使用的第三方工具有很多,strings/aset/xset/input等都有可能满足你的要求,看你能够找到哪个了。
接受任意字母(不论大小写,如果只想接受大写可以使用 choice 的参数开关 /s)并以大写形式保存至环境变量
@echo off
choice /n /cABCDEFGHIJKLMNOPQRSTUVWXYZ Input a letter:
for %%d in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) do if errorlevel H%%d set letter=%%D
echo Your letter "%letter%"
接受任意字母(不论大小写,如果只想接受小写可以使用 choice 的参数开关 /s)并以小写形式保存至环境变量
@echo off
choice /n /cabcdefghijklmnopqrstuvwxyz Input a letter:
for %%d in (a b c d e f g h i j k l m n o p q r s t u v w x y z) do if errorlevel x%%d set letter=%%D
echo Your letter "%letter%"
接受任意数字并保存至环境变量
@echo off
choice /n /c###0123456789 Input a number:
for %%d in (0 1 2 3 4 5 6 7 8 9) do if errorlevel J%%d set numer=%%D
echo Your number "%number%"
这是另一个数字的接受判断代码,但是并未使用*BennyLevel Error Checking*。
@echo off
choice /n /c#########0123456789 Input a number:
for %%d in (0 1 2 3 4 5 6 7 8 9) do if errorlevel 1%%d set numer=%%D
echo Your number "%number%"
*BennyLevel Error Checking*
http://www.cn-dos.net/forum/viewthread.php?tid=17859#pid105801
Last edited by willsort on 2006-2-10 at 12:18 ]