尝试从Powershell运行mkvmerge

时间:2019-08-14 19:57:45

标签: powershell

我试图从Powershell运行一个mkvmerge命令,该命令将srt和ts文件连接到mkv文件。它将循环合并文件。我从简单开始,文件夹中只有01.srt和01.ts

我尝试在程序处加上引号,以查看其是否有效。现在,我已经分割了命令行,以便于我轻松查看其工作方式,还可以使用write-host查看我已加入的变量的输出。

$myprogram="${Env:ProgramFiles(x86)}\MKVToolNix\mkvmerge"
$myoutput="-o E:\TV\TS\klar\" + $_.BaseName + ".mkv"
$mysource="E:\TV\TS\klar\" + $_.BaseName + ".ts"
$mysubtitle="--language 0:swe --forced-track 0:yes E:\TV\TS\klar\" + $_.BaseName + ".swe.srt"
Write-Host $myprogram $myoutput $mysource $mysubtitle
& $myprogram $myoutput $mysource $mysubtitle

我希望它将ts和srt文件转换为mkv文件。 我得到的错误是

C:\Program Files (x86)\MKVToolNix\mkvmerge -o E:\TV\TS\klar\01.mkv E:\TV\TS\klar\01.ts --language 0:swe --forced-track 0:yes E:\TV\TS\klar\01.swe.srt
mkvmerge v36.0.0 ('Is That Jazz?') 64-bit
Error: no destination file name was given.

如您所见,它具有目标文件名(01.mkv) 如果我获取输出并像这样在程序周围添加引号

"C:\Program Files (x86)\MKVToolNix\mkvmerge" -o E:\TV\TS\klar\01.mkv E:\TV\TS\klar\01.ts --language 0:swe --forced-track 0:yes E:\TV\TS\klar\01.swe.srt

并在命令提示符下运行它,

/更新 我有工作。我确实发现其他人使用了powershell和mkvmerge,那个人确实将选项放在了变量之外:)

0 个答案:

没有答案