Пакетный файл неожиданно завершает работу при нажатии клавиши ввода
В настоящее время я пишу командный файл, чтобы пользователи могли ввести серийный номер телефона. Я написал следующее:
set /p sernumoftel1="Enter Serial Number of the First Telephone: "
set /p sernumoftel2="Enter Serial Number of the Second Telephone (Press Enter Key To Skip If You DO NOT HAVE A Second Telephone): "
if not %sernumoftel1% == "" (
echo. > soe.txt
echo Serial Number of Telephone 1: >> soe.txt
echo %sernumoftel1% >> soe.txt
)
if not %sernumoftel2% == "" (
echo. >> soe.txt
echo Serial Number of Telephone 2: >> soe.txt
echo %sernumoftel2% >> soe.txt
)
echo You Are Done!
pause
Тем не менее, при втором вопросе, когда я нажал клавишу ввода, командная строка неожиданно завершилась без отображения "You Done!".
Что я сделал не так? Любая помощь оценена.
2 ответа
Решение
Используйте цитаты на if
заявления
if not "%sernumoftel1%" == "" (....
if not "%sernumoftel2%" == "" (...
Вы также можете убедиться, что переменная определена после set /p.
if not defined variable (
echo Error: Variable empty!
pause && exit
)