Вы пытаетесь сопоставить значение f1, равное
, с " "
Так что просто исправьте это, добавив двойные кавычки около% f1%, см. Пример:
IF %ERRORLEVEL%==1 (
IF "%f1%"==" " (
set "f1=%turn%"
) ELSE (
goto draw_screen
)
Но по вашему вопросуДля простого сценария вам сначала понадобится delayedexpansion
, а затем несколько простых, если тестируете:
@echo off
setlocal enabledelayedexpansion
set "f1= "
set "f2= "
set "f3= "
set "errorlevel=2"
if "!f%errorlevel%!"==" " (
set "f%errorlevel%=%turn%"
) else (
goto draw_screen
)
Я использую f1-3 только для упрощения ответа и наблюдательного подражания errorlevel
в качестве теста.Это единственный оператор if, который будет соответствовать любому уровню ошибки, вы можете проверить его, изменив приведенное выше значение errorlevel.