如何使用Java代码(Windows)打开命令提示符、更改目录和执行命令
标题基本上说明了一切。到目前为止,通过在web上搜索,我能够做到以下几点:如何使用Java代码(Windows)打开命令提示符、更改目录和执行命令,java,command-prompt,Java,Command Prompt,标题基本上说明了一切。到目前为止,通过在web上搜索,我能够做到以下几点: Runtime rt = Runtime.getRuntime(); try { Process proc = rt.exec("cmd /c start cmd.exe /K \"cd " + locaction); } catch (Exception e) { //... } 其中location是我要切换到的目录的字符串表示形式。不确定上述方法是否是最好的方法,但无论哪种方法,我如何从该目录
Runtime rt = Runtime.getRuntime();
try {
Process proc = rt.exec("cmd /c start cmd.exe /K \"cd " + locaction);
}
catch (Exception e) {
//...
}
其中
location
是我要切换到的目录的字符串表示形式。不确定上述方法是否是最好的方法,但无论哪种方法,我如何从该目录运行某个命令(例如,那里有一个应用程序,我希望它运行)?谢谢。如果您只想运行具有特定工作目录的应用程序,最简单的方法是使用ProcessBuilder
:
ProcessBuilder pb = new ProcessBuilder(executable, arguments, if, any);
pb.directory(theWorkingDirectory);
pb.start();
如果您只想运行具有特定工作目录的应用程序,最简单的方法是使用
ProcessBuilder
:
ProcessBuilder pb = new ProcessBuilder(executable, arguments, if, any);
pb.directory(theWorkingDirectory);
pb.start();
您希望从控制台运行的具体原因是什么?使用
运行时实例时,更改目录调用将无法按预期工作。您应该将目录指定为程序名的一部分。@fge:我正在创建一个可执行jar,它生成一个目录,将某个文件放在那里,然后从该位置运行脚本。最好使用命令行中的简单命令运行脚本。@图例:代码对我来说运行良好。您是说这不是一种首选方法吗?您想从控制台运行的具体原因是什么?使用运行时
实例时,更改目录调用将无法按预期工作。您应该将目录指定为程序名的一部分。@fge:我正在创建一个可执行jar,它生成一个目录,将某个文件放在那里,然后从该位置运行脚本。最好使用命令行中的简单命令运行脚本。@图例:代码对我来说运行良好。你是说这不是一种更喜欢的方式吗?