SET /p con1=----Do you want to display some text?(y/n):
IF con1==y (echo hi)
Но это не отображает «привет» на экране командной строки.Какая ошибка в этом пакетном коде?
SET /p con1=----Do you want to display some text?(y/n):
IF con1==y (echo hi)
Но это не отображает «привет» на экране командной строки.Какая ошибка в этом пакетном коде?
Используйте этот код
SET "con1=n"
SET /p "con1=----Do you want to display some text (y/n)? "
SET "con1=%con1:"=%"
IF /I "%con1%"=="y" (echo hi)
Вы забыли знаки процента ссылаться на значение переменной con1
. Поэтому ваш IF сравнивает фиксированную строку con1
с фиксированной строкой y
, которые никогда не равны.
Сравнение в настоящее время не чувствительно к регистру из-за параметра /I
.
Значение по умолчанию задано в случае, если пользователь просто нажимает enter в приглашении.
И последние двойные кавычки удаляются из введенного значения в случае пользователь вводит один или более "
вместо того, чтобы просто y
или n
в противном случае выполнение пакетного сломается на линии с IF условие из-за синтаксической ошибки.