Проблемы с пакетным файлом - ошибка кода пакетной игры при запуске, но в CMD.exe работает нормально

Гео здесь, у меня есть команда (Kinda Confuzzling), которая не работает. Это работает за пределами пакетного файла хорошо, хотя! Все параметры установлены, и я бы предпочел, чтобы это было в одной строке (над чем он должен работать). Это не работает в командном файле, но в CMD работает отлично

Вот команда:

IF %Move%==North IF %0x-1Seen%==1 (set LevelXY=0x1 & GOTO :Level1~0x1) ELSE (Resources\Sound\SWPlayer.exe "Locked.wav")

Это код ОДНОЙ ЛИНИИ. Спасибо - Гео Скионфинский

РЕДАКТИРОВАТЬ: Это скрипт для проверки, если вы пошли в эту область - он работает. НО в игре нет: "Ошибка в том, что В ЭТО ВРЕМЯ НЕ ОЖИДАЕТСЯ

1 ответ

Решение
IF %0x-1Seen%

в партии, %0 будет заменен на имя исполняемого файла; 0x-1Seen не будет рассматриваться как переменная (то же самое для%1..%9 - параметры 1..9 для пакетного процесса)

Совет 1: не используйте начальные цифры в переменных

Совет 2: "цитируйте" пользовательский ввод при проверке строк ключей. if /i "%move%"=="north" например (при условии, что move пользовательский ввод с использованием set/p) - /i делает совпадение без учета регистра.

Другие вопросы по тегам