利用PowerShell和Mkvtoolnix批量去除视频封面

利用PowerShell v5和Mkvtoolnix批量去除视频封面

PowerShell Version : 5.1.22621.2506

foreach ($file in Get-ChildItem "*.mp4")  {
Start-Process -FilePath "C:\Program Files\MKVToolNix\mkvmerge.exe" -ArgumentList "--ui-language en --priority lower --output `"$($file.BaseName).mkv`" --no-attachments --language 0:und --language 1:und `"$($file.BaseName).mp4`" --track-order 0:0,0:1"
}
  • Get-ChildItem "*.mp4" 筛选出当前目录下所有后缀为.mp4的文件
  • foreach遍历所有文件
  • Start-Process 开启新的进程执行 "C:\Program Files\MKVToolNix\mkvmerge.exe"可执行文件
  • -ArgumentList 添加可执行文件参数
  • $file.BaseName获取文件的无后缀名称
  • 其余参数为Mkvtoolnix的命令导出参数
  • --output参数添加了.mkv后缀防止覆盖源文件

参考:

  1. How to Run an Executable in PowerShell using Start-Process?
  2. 关于mkvtoolnix批量处理的
  3. MKVToolnix批量封装(字幕&音轨)
  4. about_Foreach

你可能感兴趣的:(软路由,NAS,音视频,运维,powershell)