Я использую set /p
ниже, чтобы прочитать ввод пользователя , кажется, работает вне блока if, но внутри внутри, если блок не работает. Когда я запускаю сценарий второй раз, пользовательский ввод в блоке if печатает предыдущий пользовательский ввод.проблема в пакетном скрипте читать пользовательский ввод
тестовый скрипт:
@echo off
set cond=true
echo %cond%
if %cond%==true (
echo "cond is true"
REM the below input doesn't work
set /p name1="enter your name"
echo name is: %name1%
)
REM it works here
set /p name2="enter your name"
echo name is: %name2%
спасибо
Вы также можете запустить 'CMD.EXE', используя переключатель'/V: ON'. – NealB
@neal: для большинства пакетных файлов это не жизнеспособный вариант. – Joey
большое спасибо ... это ново для меня .. вы знаете, предлагаете какой-нибудь хороший ресурс, где я могу прочитать об этом? – jch