При использовании set /p
внутри этого блока. Переменная input
не установлена на входное значение. Он устанавливается только при втором вызове скрипта (как если бы он был установлен только после строки echo %input%
).Вход пакетного файла не работает корректно, если включен, если блок
if "%1"=="" (
echo "You have to specify the name of the file."
set /p input=File name:
echo %input%
pause
) else (
...
)
Что я могу сделать, чтобы иметь переменную input
набор для значений, которые фактически вошли?
Верно, я согласен с Жюльеном. Если вы включите задержку расширения, то SET/P будет работать внутри блока. – djangofan
@djangofan - На самом деле, SET/P работает независимо. Это только отображение сохраненного значения, требующее замедленного расширения. – dbenham
Условие 'if foo && bar' должно быть записано как' if condition foo & bar'. Как первоначально написано с '&&', 'bar' будет выполняться только в том случае, если' foo' прошел успешно. '||' является условным оператором для отказа. Простой оператор конкатенации команд - это единственный '&'. – dbenham