|
baepyygy
初级用户
 
积分 142
发帖 61
注册 2006-6-1
状态 离线
|
『楼 主』:
这个多选择批处理要如何完美实现...求助~~~(在线等_)~
使用 LLM 解释/回答一下
代码:
@echo off
color e
set /p ok=请选择存档服务器(1-5):
if "%ok%"== "1" goto server1
if "%ok%"== "2" goto server2
if "%ok%"== "3" goto server3
if "%ok%"== "4" goto server4
if "%ok%"== "5" goto server5
:server1
if exist GameSave1 (Start GameSave1\svClient.exe) else @echo 选择的存档服务器不存在,请重新选择....
pause
cls
call run.bat
pause
goto end
:server2
if exist GameSave2 (Start GameSave2\svClient.exe) else @echo 选择的存档服务器不存在,请重新选择....
call run.bat
pause
cls
pause
goto end
:server3
if exist GameSave3 (Start GameSave3\svClient.exe) else @echo 选择的存档服务器不存在,请重新选择....
pause
cls
call run.bat
pause
goto end
:server4
if exist GameSave4 (Start GameSave4\svClient.exe) else @echo 选择的存档服务器不存在,请重新选择....
pause
cls
call run.bat
pause
goto end
:server5
if exist GameSave5 (Start GameSave5\svClient.exe) else @echo 选择的存档服务器不存在,请重新选择....
pause
cls
call run.bat
pause
goto end
:end
exit
问题是当用户选择的按键是非1-5的时候,如何给出"服务器不存在的提示,按任意键继续"的提示...现在是除1-5外的任意键都会默认打开第一个储存服务器.
该如何做....
另外,有没有更好的方法来实现这个批处理所实现的功能!~~~~
Last edited by baepyygy on 2006-11-21 at 09:45 AM ]
|
|
2006-11-21 06:54 |
|
|
IceCrack
中级用户
   DOS之友
积分 332
发帖 168
注册 2005-10-6 来自 天涯
状态 离线
|
『第 2 楼』:
使用 LLM 解释/回答一下
if "%ok%"== "1" goto server1
if "%ok%"== "2" goto server2
if "%ok%"== "3" goto server3
if "%ok%"== "4" goto server4
if "%ok%"== "5" goto server5
goto wrong
:wrong
echo 服务器不存在
echo 按任意键继续
>nul pause
call run.bat
你这个程序可以不用call的,在最开头的地方加上一个
cls
:start
后面用到call的语句都换成goto就行了
|

测试环境: windows xp pro sp2 高手是这样炼成的:C:\WINDOWS\Help\ntcmds.chm |
|
2006-11-21 08:02 |
|
|
baepyygy
初级用户
 
积分 142
发帖 61
注册 2006-6-1
状态 离线
|
|
2006-11-21 08:16 |
|
|
baepyygy
初级用户
 
积分 142
发帖 61
注册 2006-6-1
状态 离线
|
『第 4 楼』:
使用 LLM 解释/回答一下
@echo off
color e
cls
set /p ok=请选择存档服务器(1-5):
if "%ok%"== "1" goto server1
if "%ok%"== "2" goto server2
if "%ok%"== "3" goto server3
if "%ok%"== "4" goto server4
if "%ok%"== "5" goto server5
:server1
if exist GameSave1 (Start GameSave1\svClient.exe) else goto wrong
pause
cls
pause
goto end
:server2
if exist GameSave2 (Start GameSave2\svClient.exe) else goto wrong
pause
cls
pause
goto end
:server3
if exist GameSave3 (Start GameSave3\svClient.exe) else goto wrong
pause
cls
pause
goto end
:server4
if exist GameSave4 (Start GameSave4\svClient.exe) else goto wrong
pause
cls
pause
goto end
:server5
if exist GameSave5 (Start GameSave5\svClient.exe) else goto wrong
pause
cls
pause
goto end
goto wrong
:wrong
echo 服务器不存在
echo 按任意键继续
>nul pause
goto start
:start
start run.bat
:end
exit
这样,非数字键时默认还是到SERVER1处。。
|
|
2006-11-21 09:38 |
|
|
vkill
金牌会员
     
积分 4103
发帖 1744
注册 2006-1-20 来自 甘肃.临泽
状态 离线
|
|
2006-11-21 09:42 |
|
|
baepyygy
初级用户
 
积分 142
发帖 61
注册 2006-6-1
状态 离线
|
|
2006-11-21 09:42 |
|
|
lxmxn
版主
       
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第 7 楼』:
使用 LLM 解释/回答一下
@echo off
color e
:start
cls
set /p ok=请选择存档服务器(1-5):
if %ok% geq 1 if %ok% leq 5 (
if exist GameSave%ok% (Start GameSave%ok%\svClient.exe) else (goto wrong)
) else (goto wrong)
goto :eof
:wrong
echo 服务器不存在
echo 按任意键继续
>nul pause
goto start
未测试,不知道对不对,有问题请跟帖继续讨论。
|
|
2006-11-21 10:44 |
|
|
baepyygy
初级用户
 
积分 142
发帖 61
注册 2006-6-1
状态 离线
|
『第 8 楼』:
使用 LLM 解释/回答一下
刚在机器上试了下,暂时没问题。。。。明天换台机继续试下。。。
能不能把整段代码的含义解释一下??
|
|
2006-11-21 10:49 |
|
|
anqing
高级用户
   
积分 859
发帖 413
注册 2006-8-14
状态 离线
|
|
2006-11-21 10:53 |
|
|
baepyygy
初级用户
 
积分 142
发帖 61
注册 2006-6-1
状态 离线
|
|
2006-11-21 10:55 |
|
|
tao0610
高级用户
    朦胧的世界
积分 579
发帖 218
注册 2006-10-24
状态 离线
|
『第 11 楼』:
使用 LLM 解释/回答一下
echo off&color e
:start
cls
set /p ok=请选择存档服务器(1-5):
if exist GameSave%ok% Start GameSave%ok%\svClient.exe&&goto :eof
echo 选择的存档服务器不存在,请重新选择.... &pause >nul
goto start
|

认识自己,降伏自己,改变自己,才能改变别人! |
|
2006-11-21 14:24 |
|
|
srleopard
初级用户
 
积分 29
发帖 15
注册 2006-11-21
状态 离线
|
|
2006-11-22 02:01 |
|
|
baepyygy
初级用户
 
积分 142
发帖 61
注册 2006-6-1
状态 离线
|
|
2006-11-22 08:51 |
|
|
lxmxn
版主
       
积分 11386
发帖 4938
注册 2006-7-23
状态 离线
|
『第 14 楼』:
使用 LLM 解释/回答一下
Originally posted by baepyygy at 2006-11-22 08:51:
还有个问题,我在输入“0”的时候,程序会退出。而且在输入“1.”时,程序也会执行。。。
你说的是几楼的代码出现这种情况?
|
|
2006-11-22 09:13 |
|
|
baepyygy
初级用户
 
积分 142
发帖 61
注册 2006-6-1
状态 离线
|
|
2006-11-22 09:16 |
|