Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.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在CMD中运行简单CECopy_Java_Windows_Batch File_Cmd_Copy - Fatal编程技术网

使用Java在CMD中运行简单CECopy

使用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

我正在尝试用java运行一个简单的“cecopy”。我调用“cmd.exe”并传递命令。它创建目录,但不执行复制

下面是我正在使用的命令,在java中设置为字符串:

  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输出重定向错误!我发现了我的问题!谢谢!