2016-01-12 3 views
0

Итак, я писал пакетный файл, и я создал файл, на который вы можете выбрать ответ на вопрос, и он автоматически сохраняет его в файл. Но я хочу что-то сделать, прежде чем он сохранит его в файле, чтобы люди подтвердили свой выбор. Упрощенный, у меня есть это так:Подтверждение ввода командного файла

Rem Question 1 appearance 
:q1 
cls 
Echo. 
Echo Please select your age: 
Echo ================== 
Echo A) younger than 18 
Echo B) 18-30 
Echo C) 30-45 
Echo D) older than 45 
Echo. 
Echo. 

Rem Question 1 in- and output settings 
:q1.2 
set INPUT= 
set /p INPUT=Answer: 
if "%INPUT%"=="A" Echo You chose an age of less than 18. & pause & goto q2 
if "%INPUT%"=="B" Echo You chose an age of 18-30. & pause & goto q2 
if "%INPUT%"=="C" Echo You chose an age of 30-45. & pause & goto q2 
if "%INPUT%"=="D" Echo You chose an age of older than 45. & pause & goto q2 
Echo Please enter a valid answer! 
goto q1.2 

Rem question 2 appearance 
:q2 
Echo Answer: %INPUT% >>Question1answers.txt 
cls 
Echo. 
Echo Please select your favourite colour: 
Echo ========================== 
Echo A) Blue 
Echo B) Red 
Echo C) Green 
Echo D) Yellow 
Echo E) Other 
Echo. 
Echo. 

Rem Question 2 in- and output settings 
:q2.1 
set INPUT= 
set /p INPUT=Answer: 
if "%INPUT%"=="A" Echo You chose blue.&pause&goto end 
if "%INPUT%"=="B" Echo You chose red.&pause&goto end 
if "%INPUT%"=="C" Echo You chose green.&pause&goto end 
if "%INPUT%"=="D" Echo You chose yellow.&pause&goto end 
if "%INPUT%"=="E" Echo You chose something else.&pause&goto end 
Echo Please enter a valid answer! 
goto q2.1 

Так я прошу вас не отвечать с полным кодом, может быть маленький кусочек, так что я могу узнать от него и положил его в себе, вы знаете? Благодаря!

Edit:

Так что теперь я добавил эту часть:

:confirmation 
cls 
Echo Please make sure this is your data: 
if "%INPUTT%"=="A" Echo You chose an age of less than 18. 
if "%INPUTT%"=="B" Echo You chose an age of 18-30. 
if "%INPUTT%"=="C" Echo You chose an age of 30-45. 
if "%INPUTT%"=="D" Echo You chose an age of older than 45. 
echo. 
if "%INPUT%"=="A" Echo You chose blue as your favourite colour. 
if "%INPUT%"=="B" Echo You chose red as your favourite colour. 
if "%INPUT%"=="C" Echo You chose green as your favourite colour. 
if "%INPUT%"=="D" Echo You chose yellow as your favourite colour. 
if "%INPUT%"=="E" Echo You chose something else as your favourite colour. 

choice /m "Is this your data?" /d Y 
if %errorlevel%==1 goto q1 

Echo Answer: %INPUTT% >>Question1answers.txt 
Echo Answer: %INPUT% >>Question2answers.txt 

Так я начал отладку, и когда я пришел к той части это было не так, то пусть меня через и по-прежнему сохранен мой вход. он вроде игнорирует часть , если% errorlevel% == 1 goto q1 , так что теперь я делаю?

+0

Так вы создаете еще один вопрос, чтобы подтвердить свой выбор. Либо сделайте это с помощью другого 'set/p', либо используйте команду' choice'. – Squashman

+0

@squash Ой, давай, ха-ха, я забыл сказать, что хочу показать им ответы, которые они дали, и тогда они могут сказать «да» или «нет», если они хотят снова начать –

+0

Так что сделайте первую попытку и давайте посмотрим;) – fast

ответ

1

, так как вы просите короткий фрагмент кода, то это должно делать то, что вы хотите:

set /p "age=Enter your age: " 
choice /M "Your age is %age%, correct?" 
if %errorlevel%==1 goto :correct 
echo false 
goto :eof 
:correct 
echo true 
+0

, пожалуйста, еще раз проверьте мой вопрос, я добавил новую вещь после внедрения вашего решения. –

+1

введите 'choice/m 'Это ваши данные?"/d Y' в командной строке и прочитать сообщение об ошибке. – Stephan

+0

Вы имеете в виду cmd? потому что я попробовал это, он сказал, что забыл использовать/t, и когда я добавил, что он все еще не работает. –

Смежные вопросы