【发布时间】:2012-09-17 17:38:23
【问题描述】:
我想问一下我们可以在 Windows 中运行命令,就像我通过键入 cmd 打开命令提示符一样。 C:/> cd 程序文件 C:/>cd 任意目录
我想问我可以从 java 运行这些命令吗?就像我想通过 java 运行命令cd programfiles。我可以做吗?
谢谢
【问题讨论】:
标签: java
我想问一下我们可以在 Windows 中运行命令,就像我通过键入 cmd 打开命令提示符一样。 C:/> cd 程序文件 C:/>cd 任意目录
我想问我可以从 java 运行这些命令吗?就像我想通过 java 运行命令cd programfiles。我可以做吗?
谢谢
【问题讨论】:
标签: java
请参阅我的answer 来回答一些人认为有用的类似问题。就是这样:
您可以使用Runtime.exec(java.lang.String, java.lang.String[], java.io.File) 来设置工作目录。
否则你可以使用ProcessBuilder,如下:
ProcessBuilder pb = new ProcessBuilder("myCommand", "myArg1", "myArg2");
pb.directory(new File("myDir"));
Process p = pb.start();
【讨论】:
你可以使用ProcessBuilder类如下:
public static void main(String [] args) throws IOException
{
String[] command = {"CMD", "/C", "dir"};
// ProcessBuilder will execute process named 'CMD' and will provide '/C' and 'dir' as command line arguments to 'CMD'
ProcessBuilder pbuilder = new ProcessBuilder(command);
Process process = probuilder.start();
//Wait for process to finish
try
{
int exitValue = process.waitFor();
System.out.println("\n\nExit Value is " + exitValue);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
【讨论】:
{"CMD", "/C", "dir"}。 cmd代表命令吗,/C代表C目录,dir代表C中的任意目录?
如果您想更改工作目录,可以使用内置函数。如果要运行命令,请参阅example
【讨论】:
这用于使用 Java 运行命令行命令
Runtime.getRuntime().exec()
【讨论】: