2013-02-14 18 views
0

我按批處理提示之間的任何數字時,我的批處理文件總是返回PLUGINS而不是去所需的位置。這個問題源於什麼?我的批處理文件提示保持捕獲所有答案作爲第一個標籤

@echo off ECHO控制面板已初始化。

:BEGIN

CHOICE/N/C:1234/M 「挑一些(1(插件),2(MOTD),3(日誌), 4(END)」 %1

IF %% ERRORLEVEL == 1 GOTO ONE

IF %% ERRORLEVEL == 2 GOTO TWO

IF %% ERRORLEVEL == 3 GOTO THREE

IF %% ERRORLEVEL == 4 GOTO END

:ONE

ECHO PLUGINS

探險\\ 192.168.1.16 \ Server \服務器專用稍微\這裏是 實際的服務器目錄\插件

GOTO BEGIN

:TWO

ECHO MOTD

記事本\ \ 192.168.1.16 \ Server \服務器專用稍微\這裏是 實際的服務器目錄\插件\要領\ MOTD

GOTO BEGIN

:三個

ECHO日誌

記事本\\ 192.168.1.16 \ Server \服務器專用稍微\這裏是 實際的服務器目錄\服務器

GOTO BEGIN

:END

PAUSE

+1

它不應該是'%ERRORLEVEL%',而不是'%% ERRORLEVEL'? (也許'EQU'而不是'=='?) – 2013-02-14 23:27:06

+0

啊啊是的,謝謝我忘了%%只是一個字符。 – user2073881 2013-02-14 23:54:00

回答

0

三個問題:

  1. ERRORLEVEL檢查給定值或以上,所以你必須從高後低,而不是其他的方式進行訂購
  2. 它的錯誤級別,而不是%% ERRORLEVEL
  3. 它只是ERRORLEVEL NUM

因此,簡而言之,你會得到

IF ERRORLEVEL 4 GOTO END 
... 
IF ERRORLEVEL 1 GOTO ONE 
+0

謝謝,有一點清理感謝您的建議,現在的作品。我想這並不難說我是新手。 – user2073881 2013-02-14 23:58:25

+0

偉大的:-)有時,批次有點奇怪。 – fvu 2013-02-15 00:04:09

+0

您並不總是需要列出從最大到最小的數字。 如果需要,可以添加EQU(equ)或==。它沒有太大的區別。 – 2013-02-15 05:32:06

相關問題