Недопустимый параметр для Setlocal

Использую нейросети для upscaling'а спрайтов из старых игр и скриптом создаю специальный текстовый *.def-файл с перечислением файлов из папки и добавлением в строку пары параметров. Использую такой скрипт

 setlocal EnableDelayedExpansion for %%f in (tile*.png) do ( set tmp=%%f if "%%f"=="!tmp:~0,8!.png" ( echo texture !tmp:~4,4! { pal 0 { file "upscale/%%f" nocompress nodownsize }} >> new.def ) else ( echo texture !tmp:~4,4! { pal !tmp:~9,-4! { file "upscale/%%f" nocompress nodownsize }} >> new.def ) )

Однако выполнение этого скрита выдаёт ошибку - Недопустимый параметр команды Setlocal. В чём проблема? Скрипт отсюда https://upscale.wiki/wiki/Upscaling_Build_Engine_Games

В папке со скриптом лежат png-файлы с названиями tile****.png Скрипт всего-лишь должен создать текстовый файл с расширением *.def, где для каждого файла будет своя строка с текстом вида

texture 0001 { pal 0 { file "upscale/tile0001.png" nocompress nodownsize }}


Ответы (1 шт):

Автор решения: Dmitry Sokolov

Не работает, т.к. надо переносы строк вставить (отформатировать):

setlocal EnableDelayedExpansion

for %%f in (tile*.png) do (
  set tmp=%%f
  if "%%f"=="!tmp:~0,8!.png" (
    echo texture !tmp:~4,4! { pal 0 { file "upscale/%%f" nocompress nodownsize }} >> new.def
  ) else (
    echo texture !tmp:~4,4! { pal !tmp:~9,-4! { file "upscale/%%f" nocompress nodownsize }} >> new.def
  )
)

В источнике просто форматирование потерялось.

→ Ссылка