Java ProcessBuilder:引号内有空格

2024-03-03

我正在使用 ProcessBuilder 运行 FFMPEG 来转换和标记我的一些 MP3 文件。

在 .bat 文件中手动使用以下内容可以按预期工作:

"E:\Dokumente\workspace\MusicBot\ffmpeg\bin\ffmpeg.exe" 
    -i "The Glitch Mob - We Can Make The World Stop.mp4" 
    -metadata author="The Glitch Mob" 
    -metadata title="We Can Make The World Stop" 
    -ab 320k "mob.mp3"

现在我正在尝试使用 java ProcessBuilder 来实现

ProcessBuilder pr = new ProcessBuilder(FFMPEG_PATH, 
    "-i", target.getAbsolutePath(),
    "-metadata", "title=\"We Can Make The World Stop\"", 
    "-metadata", "author=\"The Glitch Mob\"", 
    "-ab", "320k", 
    tar.getAbsolutePath());

结果是[NULL @ 000000000032f680] Unable to find a suitable output format for 'Can'。 然而,使用不带空格的标题和作者是可行的。


命令行上的双引号是为了告诉 shell 解释器不要将字符串拆分为多个参数。这是为了确保应用程序收到title=We Can Make The World Stop作为单个参数。

Since ProcessBuilder显式处理多个命令行参数,调用它时无需转义空格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java ProcessBuilder:引号内有空格 的相关文章

随机推荐

  • 黑莓开发上的脚本语言?

    据我所知 开发 Blackberry 应用程序的首选方法是 Java 这是吗only way 我梦想有一个快速的应用程序环境 您可以在其中创建 GUI 使用 Blackberry UI 组件 类似于 Blackberry 上的 Tcl Tk
  • 循环遍历矩阵的对角线+1

    我需要循环遍历对角线 1 即对角线右侧的值 1 列 并将值写入数据帧中的列 write csv data frame matrix 1 2 matrix 2 3 matrix 3 4 如何使用函数来做到这一点 而不是仅仅列出值的所有位置 实
  • 使用 C# 从 azure 文件存储递归获取文件

    我想编写一个程序来从天蓝色文件存储中获取文件 但问题是目录深度未定义并且isFile文件的属性始终返回 false using System using System Collections Generic using System Lin
  • 多个型号的评论

    在我的 Rails 应用程序中 我目前设置了评论以与我的帖子模型一起使用 该模型运行正常 如何向我的图书模型添加评论 这是我到目前为止所拥有的 以下是我的评论架构中的内容 create table comments force true d
  • jsx 上的 eslint 缩进

    我正在尝试制作简单的组件 但是当我点击ctrl s它这样做 警告和错误是这样的 eslint 预期结束标签与开始的缩进相匹配 react jsx ending tag location eslint 预期缩进 4 空格字符但发现2 reac
  • iOS 图表 moveViewToX 似乎不起作用

    我正在尝试移动当前显示的数据范围 看了文档 看来应该可以用moveViewToX函数将视图的左侧移动到给定的 x 值 我制作了一个测试代码 其中有 1 个带有按钮的视图 当视图加载到模拟器中时 图表会正确显示 当按钮被点击时 它会调用mov
  • python ssl ssl.SSLError: [SSL: UNSUPPORTED_PROTOCOL] 不支持的协议 (_ssl.c:590)

    使用 python 2 7 10 或 2 7 9 时出现此错误 但适用于 python 2 7 6 尚未测试其他版本 OpenSSL 版本 openssl version a OpenSSL 1 0 1f 6 Jan 2014 built
  • 如何从 Pl/SQL 中的存储函数返回临时 CLOB 实例?

    我的存储函数使用以下命令创建临时 LOB 实例 Dbms Lob CreateTemporary BUFFER TRUE Dbms Lob SESSION where BUFFER是当地人CLOB多变的 之后函数填充BUFFER一些数据并返
  • Android 浏览器中的 SVG

    我知道它本身不支持 但是是否有任何 JS Shims 可以渲染到画布对象或允许我在本机 Android 浏览器上渲染 SVG 的东西 不是 Opera 等 因为我想避免用户需要安装另一个浏览器 我想你想要的是这个库 http code go
  • 多项式回归废话预测

    假设我想用二次 正交 多项式拟合线性回归模型 然后预测响应 这是第一个模型 m1 的代码 x 1 100 y 2 3 x 5 x 2 rnorm 100 m1 lm y poly x 2 prd 1 predict m1 newdata d
  • 实体框架,代码优先:将主从与零对一关系相结合

    我使用代码优先 EF 有一个简单的主从关系 public class User public string Id get set public ICollection
  • 如何将多个 FlowDocument 连接成 1 个 FlowDocument

    我有多个 FlowDocument 我想将它们连接在一起 下面的方法没有 return 语句 我想做的是将 TextRange 转回 FlowDocument private FlowDocument Concatenate FlowDoc
  • if(!isset($_SESSION['username'])) 导致用户从 verify_login_form.php 重定向回 index.php

    我的网站上有一个登录系统 它将用户从 index php 带到 verify login form php 然后 如果电子邮件 用户名组合与帐户匹配 它们就会被带到 home php 我遇到的问题是我有 if isset SESSION u
  • Eclipse Java启动配置文件路径

    我正在寻找 Eclipse 存储其启动配置的文件 我正在 Ubuntu 中进行一些 Java 开发 我正在开发的一个可执行文件需要另一个可执行文件的输出作为它的参数 也就是说 B 的输出需要作为命令行参数传递给 A 在Eclipse中 我不
  • 从 C DLL 到 .NET 的接口

    我有一个用 C 编写的遗留 DLL 我想从 C NET 应用程序调用它 问题是 C DLL 的 DLL 接口相当复杂 是这样的 declspec dllexport void stdcall ProcessChunk void p proc
  • 如何在 Mac OS X Snow Leopard 中运行 XUL 应用程序?

    我正在尝试在 Mac OS X 中创建 XUL Hello World 应用程序 我从以下位置下载 XULRunnerhere http releases mozilla org pub mozilla org xulrunner rele
  • 从使用 (WHERE) 条件选择的行中获取上一行和下一行

    例如我有这样的说法 my name is Joseph and my father s name is Brian 该语句按单词拆分 如下表 ID word 1 my 2 name 3 is 4 Joseph 5 and 6 my
  • JAX-RS 中必需的 @QueryParam(以及在缺少 @QueryParam 时该怎么做)

    我部署了一个网络服务组件JBoss 应用服务器 7使用RETEasy JAX RS执行 是否有注释可以声明必需的 强制的 查询参数参数在JAX RS 如果没有 处理缺少此类参数的情况的 标准 方法是什么 当使用所有强制参数正确调用时 我的
  • 亚马逊 EC2 延迟

    同一区域中一对 Amazon EC2 实例之间的简单连接的预期延迟是多少 Thanks 延迟应类似于同一 LAN 中两台计算机的延迟 只需确保在连接两个映像时使用的是私有 IP 而不是公共 IP
  • Java ProcessBuilder:引号内有空格

    我正在使用 ProcessBuilder 运行 FFMPEG 来转换和标记我的一些 MP3 文件 在 bat 文件中手动使用以下内容可以按预期工作 E Dokumente workspace MusicBot ffmpeg bin ffmp