como chamar um caminho do arquivo .ini para a string de comando bat?

0

Eu tenho um arquivo .ini chamado job1.ini e este .ini contém informações com as quais preciso trabalhar, injetando-o em um ponto específico no meu script em lote.

o script em lote está na mesma pasta que o meu arquivo .ini

conteúdo do job1.ini:

[JobSet]

Codec=hevc

Video=E:\folder\B 1.265

VideoWidth=1920

VideoHeight=1080

meu script:

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

também encontrei isto:

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

como eu poderia combinar essas 3 partes, então meu script funcionaria?

    
por user902300 07.05.2018 / 00:43

1 resposta

0

Sua linha:

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

não funciona porque o findstr também corresponderá às entradas Videoheight/VideoWidth e terá a variável de ambiente resultante Video=1080

Tente isto (não testado):

@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"
    
por 07.05.2018 / 01:59