Мне нужен скрипт для заполнения всех возможных комбинаций из 5 блоков в сетке 3 на 3. Поэтому я решил, что могу использовать ImageMagick для раскраски и txt-файл для ввода. Текстовый файл состоит из одного номера в строке, номер показывает, какой блок должен быть окрашен. 5 чисел образуют одну возможную комбинацию.Пакетный файл Windows для продолжения цикла и строки
Я использую цикл for для чтения строки txt-файла для строки. Переменная (называемая a) увеличивается, и когда она достигает 5, она сбрасывается на 0, а другая переменная (называемая n) увеличивается, что изменяет имя выходного файла. Так как мне нужно перезагрузить исходное изображение каждый раз при запуске новой комбинации, я использую другую переменную (имя) для переключения между исходным изображением и изображением для каждой комбинации.
Это мой первый раз, когда я написал командный файл. Поэтому я, возможно, не совсем понял, как работает продолжение строки и переменные, так как мой скрипт не производит вывод.
setlocal ENABLEDELAYEDEXPANSION
set a=0
set n=0
for /F %%G in (test.txt) do^
set /A a=a+1 &^
if !a!==5 set a=0 & set /A n=n+1 &^
if !a!==0 set name=original.png else set name=output_!n!.png^
if %%G == 1 magick convert -fill blue -draw "color 50, 50 floodfill" %name% output_!n!.png^
if %%G == 2 magick convert -fill blue -draw "color 150, 50 floodfill" %name% output_!n!.png^
if %%G == 3 magick convert -fill blue -draw "color 250, 50 floodfill" %name% output_!n!.png^
if %%G == 4 magick convert -fill blue -draw "color 50, 150 floodfill" %name% output_!n!.png^
if %%G == 5 magick convert -fill blue -draw "color 150, 150 floodfill" %name% output_!n!.png^
if %%G == 6 magick convert -fill blue -draw "color 250, 150 floodfill" %name% output_!n!.png^
if %%G == 7 magick convert -fill blue -draw "color 50, 250 floodfill" %name% output_!n!.png^
if %%G == 8 magick convert -fill blue -draw "color 150, 250 floodfill" %name% output_!n!.png^
if %%G == 9 magick convert -fill blue -draw "color 250, 250 floodfill" %name% output_!n!.png
Pause
Были и другие ошибки (логика), но благодаря вашему удивительному форматированию их было легко! Он работает сейчас. –
исправлена основная проблема – Compo