Я пишу командный файл, который обрабатывает изображение с использованием внешнего инструментария на основе существующего изображения (%%t
), запрашиваю текстовый файл со столбцами данных для определенного значения, а затем отправляю запрашиваемые данные обратно в Пакетный процесс как новый критерий команды. Мой код выглядит следующим образом:
for /r %%t in (*.tif) do (
cd /d C:\Program Files\Allegorithmic\Substance Automation Toolkit
sbsrender.exe render -v --input "C:\Program Files\Allegorithmic\Substance Automation Toolkit\test.sbsar" --set-entry input@"%%t" --output-path "C:\Users\Dave\Desktop\Substance" --output-format jpg --output-name "%%~nt"
cd C:\Users\Dave\Desktop\Substance
for /f "tokens=1-5 delims= " %%a in (C:\Users\Dave\Desktop\sectors.txt) do (
if "%%e"=="%%~nt" (
gdal_translate -of JPEG -co QUALITY=81 -a_ullr %%a %%b %%c %%d %%~nt.jpg %%~nt%-1.jpg
)
)
)
pause
Важный аспект должен быть на месте - имя файла, сгенерированного в первую очередь, должно быть сохранено в качестве критерия для запроса текстового файла (%%~nt
), так как именно это значение будет определять координаты для подачи в команду gdal_translate
:
598000 5728000 602000 5724000 19
Я запрашиваю это последнее значение в последнем столбце, поскольку оно должно соответствовать имени файла, указанному в самой первой строке кода. Исходные файлы tif
соответствуют строкам в текстовом файле. Чтобы это работало, "%%e"
должно равняться "%%~nt"
. Он должен возвращать координаты для правильного сектора.
Заранее спасибо.