Использование определенных строк в текстовом файле в качестве переменной в пакетном процессе - PullRequest
0 голосов
/ 17 апреля 2019

Я пишу командный файл, который обрабатывает изображение с использованием внешнего инструментария на основе существующего изображения (%%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". Он должен возвращать координаты для правильного сектора.

Заранее спасибо.

...