2016-04-05 19 views
0

這是我遇到的問題。我需要通過發送給他們尊敬的類(cls)來正確執行選擇行。所有的錯誤都與ERRORLEVEL和選擇腳本有關。這是我唯一的主要問題,但如果你能指出其他人的幫助,我會很感激。最美好的祝願,Mystikality。使用批處理文件來製作簡單的Y/N問題。有問題的代碼。 HALP

cls 
@echo off 
echo Welcome to the Alpha PPFI Program V0.001. 
GOTO T1 

:T1 
echo This is a security program ran just by a simple Batch file. 
GOTO T2 

:T2 
echo If you have an interest in our program, enter your response below. 
GOTO Variable 

:Variable 
CHOICE /C YN /N /M "Welcome, if you would wish to continue, enter Y/N 
below." 
if %errorlevel%==Y GOTO Create 
if %errorlevel%==N GOTO ExitWarning 
:Create 
CHOICE /C YN /N /M "Create a new PPFI interface? Y/N" 
if %errorlevel%==Y GOTO BatchGen 
if %errorlevel%==N GOTO Variable 

:BatchGen 
start call CreatePPFI_V0.001.bat 
exit 
pause 

:ExitWarning 
CHOICE /C YN /N /M "Are you sure you want to exit V0.001 PPFI interface 
alpha? Y/N" 
if %errorlevel%==Y GOTO Variable 
if %errorlevel%==N GOTO exit' 

回答

1

您需要檢查錯誤級別爲1(第一選擇, 「Y」)或2(第二選擇, 「N」)

例如

if %errorlevel%==1 GOTO Create 
if %errorlevel%==2 GOTO ExitWarning 
+0

這是什麼意思?任何細節? – Mystikality

+0

請參閱編輯答案 – SSH

+0

感謝幫助:) – Mystikality

0

您需要檢查其他海報說的錯誤級別。但是他們的方法將不起作用。 If errorlevel測試該數字或更高。因此,要改變他們的路線或以獨立位置的方式進行。

if errorlevel=1 if not errorlevel=2 Echo Error level is 1 exactly 

choice /?if /?尋求幫助。

+0

不,你正在考慮'如果errorlevel 1'等。當你使用'%errorlevel%'時,它會像普通變量一樣被對待。 – SomethingDark

+0

我假設你正在使用'if',你不是。對於'如果錯誤級別'有一個共同點,因爲這是測試這個標準的標準方法。因此,我們可能會被任何程序覆蓋而不是命令。所以它不適用於所有系統。 –

+1

如果用戶愚蠢到可以覆蓋系統變量,他們應該讓他們的代碼失敗。 – SomethingDark