java - 如何在java中执行命令行.exe文件

标签 java command-line syntax

  1. 我想将 avi 文件转换为 3gp 使用java程序。
  2. 为此,我使用“E.M. Total 视频转换器命令行 2.43" 它的命令是
    "C:\E.M. TVCC>TVCC -f E:\TestVideo\01.avi -o E:\OutputFiles\target.3gp"
  3. 我有一个程序来执行命令 现场行exe文件http://www.rgagnon.com/javadetails/java-0014.html即:

带有空格的可执行文件路径

您可以包含要执行的程序的路径。在 Win 平台上,如果路径包含空格,则需要将路径放在引号中。

public class Test {
  public static void main(String[] args) throws Exception {
    Process p = Runtime.getRuntime().exec(
       "\"c:/program files/windows/notepad.exe\"");
    p.waitFor();
  }
}

如果您需要传递参数,则字符串数组更安全,尤其是当它们包含空格时。

String[] cmd = { "myProgram.exe", "-o=This is an option" };
Runtime.getRuntime().exec(cmd);

如果使用启动命令并且要启动的文件的路径包含空格,那么您必须指定启动命令的标题。

String fileName = "c:\\Applications\\My Documents\\test.doc";
String[] commands = {"cmd", "/c", "start", "\"DummyTitle\"",fileName};
Runtime.getRuntime().exec(commands);

***谁能帮我把上面的命令放在这段代码中?***我不知道把那个命令放在上面的代码中的语法规则。请帮帮我。

这是我正在使用的确切 java 代码:

public class Test {
    public static void main(String[] args) throws Exception {

        String[] cmd = { "C:\\Program Files\\E.M. TVCC\\TVCC.exe", "-f C:\\Program Files\\E.M. TVCC\\01.avi", "-o C:\\Program Files\\E.M. TVCC\\target.3gp" };
        Process p = Runtime.getRuntime().exec(cmd);
        p.waitFor();
    }
}

最佳答案

您的问题中的所有部分都已得到解决。只需将它们放在一起即可。

以下内容应该可以工作:

public class Test {
    public static void main(String[] args) throws Exception {

        String[] cmd = { "C:\\E.M. TVCC\\TVCC.exe", "-f E:\\TestVideo\\01.avi", "-o E:\\OutputFiles\\target.3gp" };
        Process p = Runtime.getRuntime().exec(cmd);
        p.waitFor();
    }
}

也就是说,像这样的硬编码路径不是一个好主意,您应该从某个地方阅读它们;程序的参数、属性文件等。

关于java - 如何在java中执行命令行.exe文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2243993/

相关文章:

java - IntelliJ IDEA 2016.3.4 : Abnormal build process termination

java返回带有两个json数组的json对象

java - 梯度错误 "Java plugin is not compatible with android plugins"

linux - linux如何找到没有完整搜索路径的exe

php - 嵌套 else if 语法

emacs 主要模式字符之间的字体锁定(括号、引号等)

java - 如何从一个jpanel到另一个jpanel画一条线

bash - 反向智能搜索(reverse-i-search),如何得到之前的结果?

c++ - 我的简单 C 程序出现内存错误

go - 从字符串列表转换为 go 中的接口(interface)列表