У меня есть файл .ini с именем job1.ini, и этот файл .ini содержит информацию, с которой мне нужно работать, внедряя ее в определенное место в моем пакетном скрипте.

Пакетный скрипт находится в той же папке, что и мой файл .ini

содержание job1.ini:

[JobSet]

Кодек = HEVC

Видео = E:\ папка \ B 1.265

VideoWidth = 1920

VideoHeight = 1080

мой сценарий:

"C:\Temp\mkvmerge.exe" -o "E:\done.mkv" --title "B 1" " here_I_need_that_path_from_ini " "C:\Temp\audio.flac"

также я нашел это:

for /f "tokens = 2 delims ==" %% a in ('findstr Video job1.ini') установите Video = %% a

Как я мог объединить эти 3 части, чтобы мой сценарий работал?

1 ответ1

0

Ваша линия:

for /f "tokens=2 delims==" %%a in ('findstr Video job1.ini') do set Video=%%a

не может работать, так как findstr также будет соответствовать Videoheight/VideoWidth и иметь результирующую переменную среды Video=1080

Попробуйте это (не проверено):

@Echo off&SetLocal EnableExtensions EnableDelayedExpansion
Set "Video="
for /f "delims=" %%a in ('findstr /i "^Video=" job1.ini') do set "%%a"
if defined Video "C:\Temp\mkvmerge.exe" -o "E:\done.mkv" --title "B 1" "%Video%" "C:\Temp\audio.flac"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .