Я создаю простую программу, которая будет выводить переменные из SET /p
строк в красивый, аккуратный список. Однако у меня возникают проблемы при создании 2 рабочих операторов IF
, один из которых использует NOT
, а другой - ==
, чтобы определить, является ли одна из моих переменных, %pwad%
, пустой или содержит значения. Я хочу использовать то, что возвращает оператор IF
, чтобы установить для переменной %finalpwad%
либо "No pwad detected"
, либо %pwad%
.
Как мне правильно написать это утверждение? Где мне могут потребоваться исправления, исправляющие операторы IF
или, возможно, даже часть, в которой для %pwad%
установлено %finalpwad%
?
Я уже пытался починить свою call
часть и то, что они вызывают, но безрезультатно. Я почти уверен, что это проблема с оператором IF
, так как я не слишком хорошо с ними справляюсь и всегда с трудом читаю заметки о команде из IF /?
.
Вот фрагмент моего кода и источник возникшей у меня проблемы:
set /p pwad=Set a pwad (or none):
if %pwad% NOT [] call :yespwad & pause
if %pwad% == [] :nopwad & pause
:nopwad
set finalpwad=No pwad detected
goto :printout
:yespwad
set finalpwad=%pwad%
goto :printout
Я ожидаю, что вывод продолжится на :printout
, где он отображает все переменные, которые вводит пользователь, но вместо этого выходит из программы и делает так, что я не могу узнать, правильно ли он прочитал мои IF NOT
или IF ==
заявления. Я элементарно добавил паузы, чтобы погасить проблему и посмотреть, где находится источник, и пришел к выводу, что он должен IF
утверждений.