如何将.ini 文件中的路径调用到 bat 命令字符串中?

如何将.ini 文件中的路径调用到 bat 命令字符串中?

我有一个名为 job1.ini 的 .ini 文件,该 .ini 包含我需要处理的信息,通过将其注入批处理脚本中的特定位置即可。

批处理脚本与我的 .ini 文件位于同一文件夹中

job1.ini的内容:

[工作集]

编解码器=hevc

视频=E:\文件夹\B 1.265

视频宽度=1920

视频高度=1080

我的脚本:

“C:\Temp\mkvmerge.exe”-o“E:\done.mkv”--title“B 1”我需要来自 ini 的那个路径““C:\Temp\audio.flac””

我还发现了这一点:

对于/f“tokens=2 delims==”%%a在('findstr Video job1.ini')中设置Video=%%a

我怎样才能将这 3 个部分结合起来,以使我的脚本能够正常工作?

答案1

您的线路:

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"

相关内容