使用Java在CMD中运行简单CECopy
我正在尝试用java运行一个简单的“cecopy”。我调用“cmd.exe”并传递命令。它创建目录,但不执行复制 下面是我正在使用的命令,在java中设置为字符串:使用Java在CMD中运行简单CECopy,java,windows,batch-file,cmd,copy,Java,Windows,Batch File,Cmd,Copy,我正在尝试用java运行一个简单的“cecopy”。我调用“cmd.exe”并传递命令。它创建目录,但不执行复制 下面是我正在使用的命令,在java中设置为字符串: String cmd = "mkdir \"C:\\\\Dominos\\\\DATFiles\" >> log.txt\n" + "\n" + "cecopy \"dev:\\Application\\\\MCL\\\\Projects\\\\Default\\\\aa.dat\" \"C:\\\\Do
String cmd = "mkdir \"C:\\\\Dominos\\\\DATFiles\" >> log.txt\n"
+ "\n" +
"cecopy \"dev:\\Application\\\\MCL\\\\Projects\\\\Default\\\\aa.dat\" \"C:\\\\Dominos\\\\DATFiles\");
下面是我如何调用命令提示符来执行DOS语句:
Runtime rt = Runtime.getRuntime();
try {
Process p = rt.exec("cmd.exe /c" + cmd); // Call CMD
p.waitFor(); // Wait till CMD finishes
} catch (InterruptedException | IOException ex) {
Logger.getLogger(readData.class.getName()).log(Level.SEVERE, null, ex);
}
有什么帮助吗
提前谢谢 您可以使用process builder。它巧妙地处理带有参数的命令
ProcessBuilder processBuilder = new ProcessBuilder();
p.command("cmd_to_run", "args_if_any");
p.start();
谢谢,现在就试试,让你知道发生了什么,所以我尝试使用ProcessBuilder,但没有解决问题:我实现了以下代码:
ProcessBuilder pb=new ProcessBuilder()代码>pb.command(“cmd.exe”、“/C”+cmd)代码>pb.start()代码>我使用process builder输出重定向错误!我发现了我的问题!谢谢!