日期:2014-05-17  浏览次数:20716 次

DOS命令执行问题
@echo off 
CLS
GOTO start
:start 

echo (1) - AAAA 
echo. 
echo (2) - BBBB
echo. 
echo (3) - CCCC


set /p UserChoice= 
if "%UserChoice%"=="1" goto 1 
if "%UserChoice%"=="2" goto 2 
if "%UserChoice%"=="3" goto 3 

Pause

:1 
CD C:\30VB
1.bat
goto start 
:2 
CD C:\0910
1.bat
goto start 
:3 
CD C:\30161100
1.bat
goto start 


以上代码在纯DOS模式下运行,无论输入1、2、3或其它键都是执行到以下这段代码:

:1 
CD C:\30VB
1.bat

在Windows 2003 CMD 执行是正常的,怎么到纯DOS下就不行了。

------解决方案--------------------
纯DOS里面的set命令式没有/p开关的
建议你下载一个纯DOS版本的choice.exe
------解决方案--------------------
专门为纯DOS下写批处理而开发,无敌好用,自带说明,简单易用,一看就懂 
http://home.mnet-online.de/horst.muc/horst.htm

其中的input.COM 可以做到SET /P 同样效果 


另外楼主代码有点问题
:start下应加个set UserChoice = nul
pause应换成goto start更合适