如果我在命令提示符下执行此命令,则此命令可以正常工作:
start Outlook /a C:\Users\Steve\Desktop\test.jpg
但是当我尝试使用getRuntime()。exec()方法在java中执行它时,它给出了一个错误“无法运行程序”启动“: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()方法
答案 0 :(得分:1)
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";
答案 1 :(得分:1)
命令提示符与Runtime.exec
的操作略有不同。 start
是由提示提供的命令,但不是真正的程序。要使其工作,您可以调用提示来运行Outlook:
String command = "cmd /c start Outlook /a C:\\Users\\Steve\\Desktop\\test.jpg";
答案 2 :(得分:0)
尝试:
String command = "cmd /c start Outlook /a C:\\Users\\Steve\\Desktop\\test.jpg";
你忘了打电话给cmd
,它会调用命令提示符来执行你的命令..