gpt4 book ai didi

java - 如何从 java 更改 cmd 工作目录?

转载 作者:行者123 更新时间:2023-11-30 07:40:14 25 4
gpt4 key购买 nike

我正在尝试执行不在默认工作目录中的bat 文件(来自java)。我尝试了下面的代码,但它似乎不适用于“CD”命令。

    String executeCommand(String command) {

StringBuffer output = new StringBuffer();

Process p;
try {

p = Runtime.getRuntime().exec(command);
p.waitFor();
BufferedReader reader =
new BufferedReader(new InputStreamReader(p.getInputStream()));

String line = "";
while ((line = reader.readLine())!= null) {
output.append(line + "\n");
}

} catch (Exception e) {
e.printStackTrace();
}

return output.toString();

}

///////////////////////////////////////////////////////////////////////////////////////////////////////////这是应该执行命令的代码/////////////////////////////////////////////////////////////////

    String command = "cd C:\usmt" ;

//in windows
//String command = "ping -n 3 " + domainName;

String output = obj.executeCommand(command);

System.out.println(output);

最佳答案

尝试这样的事情:

public class CmdTest {
public static void main(String[] args) throws Exception {
ProcessBuilder builder = new ProcessBuilder(
"cmd.exe", "/c", "cd \"C:\\Program Files\\myfile.txt");
builder.redirectErrorStream(true);
Process p = builder.start();
BufferedReader r = new BufferedReader(new InputStreamReader(p.getInputStream()));
String line;
while (true) {
line = r.readLine();
if (line == null) { break; }
System.out.println(line);
}
}
}

如果您尝试在没有 CD 的情况下执行此操作,请使用:

 ProcessBuilder builder = new ProcessBuilder(
"cmd.exe", "/c", "C:\\Program Files\\myfile.txt");

关于java - 如何从 java 更改 cmd 工作目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34798843/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com