java - 使用java的Runtime包执行windows命令

标签 java

如果我在命令提示符下执行此命令,则该命令可以完美运行:

start Outlook /a C:\Users\Steve\Desktop\test.jpg

但是,当我尝试使用 getRuntime().exec() 方法在 java 中执行它时,它给我一个错误“无法运行程序“start”:CreateProcess error=2,系统找不到指定的文件”

这是我正在使用的代码:

 String command = "start Outlook /a C:\\Users\\Steve\\Desktop\\test.jpg";
    try {
        Runtime.getRuntime().exec(command);
    } catch (IOException e1) {
        e1.printStackTrace();
    }

不确定我在这里做错了什么。 start 命令是命令提示符中的有效命令,我不知道如何让它与 java 的 .exec() 方法一起工作

最佳答案

start 不是一个程序;没有 start.exe,它只是一个 shell 命令。

它的目的是在新的命令窗口中启动程序。您必须使用 cmd 来运行该命令:

String command = "cmd /c start Outlook /a C:\\Users\\Steve\\Desktop\\test.jpg";

但你实际上并不需要它。只要这样做:

String command = "Outlook /a C:\\Users\\Steve\\Desktop\\test.jpg";

关于java - 使用java的Runtime包执行windows命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22976926/

相关文章:

java - 何时以及为何使用 EclipseLink 缓存?

java - 访问共享上的文件(文件服务器)

java - 当构造函数采用字符串数组作为参数时,使用反射创建对象实例

java - Android Studio - 文件是只读的

java - Google App Engine(或更一般地在分布式服务器环境中)中的单例如何工作?

java - 等于语句对同一字母的大写和小写都有效

java - 什么是构造函数在没有返回类型时分配给对象?

Java: get+clear atomic for map

java - SWT 错误地检测组合键

java - 显示时对Listview的每一项进行动画处理