Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用Java代码(Windows)打开命令提示符、更改目录和执行命令_Java_Command Prompt - Fatal编程技术网

如何使用Java代码(Windows)打开命令提示符、更改目录和执行命令

如何使用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是我要切换到的目录的字符串表示形式。不确定上述方法是否是最好的方法,但无论哪种方法,我如何从该目录

标题基本上说明了一切。到目前为止,通过在web上搜索,我能够做到以下几点:

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,它生成一个目录,将某个文件放在那里,然后从该位置运行脚本。最好使用命令行中的简单命令运行脚本。@图例:代码对我来说运行良好。你是说这不是一种更喜欢的方式吗?