Java调用Windows内cmd命令 | 您所在的位置:网站首页 › java调用cmd › Java调用Windows内cmd命令 |
很多情况下,在Windows进行操作时,直接使用cmd命令提示符会远比通过Java实现简便的多,所以我们可以通过使用Java调用cmd命令的方式来完成这一操作。 Java的Runtime.getRuntime().exec(commandStr)方法提供了调用执行cmd指令的实现。 cmd /c dir 是执行完dir命令后关闭命令窗口。 cmd /k dir 是执行完dir命令后不关闭命令窗口。 cmd /c start dir 会打开一个新窗口后执行dir指令,原窗口会关闭。 cmd /k start dir 会打开一个新窗口后执行dir指令,原窗口不会关闭。
当我们需要删除一个文件夹下所有的文件时,File类里的删除方法delete()不能删除非空的文件夹,必须通过一定的逻辑代码遍历目录下所有的文件删除,比较繁琐,而使用cmd命令,只需要一行就可以实现了。 /** * @Title: deleteAllFiles * @Description: 将目录下全部文件删除 * @param path: 目录路径(path = "D:\\Test\\Download\\") * @return * @throws Exception */ public void deleteAllFiles(String path){ try { String cmd = "cmd /c del /s/q "+path+"\\*.*"; Runtime.getRuntime().exec(cmd).waitFor(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } }注:/s代表删除所有子目录及子目录下文件,/q代表删除时不需再次确认,
移动操作 /** * @Title: moveAllFiles * @Description: 将原目录下全部文件复制到目标目录,并删除原文件 * @param originpath: 原目录路径 * @param targetpath: 目标目录路径 * @return * @throws Exception */ public void moveAllFiles(String originpath,String targetpath){ try { String cmd = "cmd /c copy " + originpath + "\\* " + targetpath + "\\"; Runtime.getRuntime().exec(cmd).waitFor(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } try { String cmd = "cmd /c del /s/q "+originpath+"\\*.*"; Runtime.getRuntime().exec(cmd).waitFor(); } catch (IOException e) { e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } }先执行了一遍复制命令,再删除原文件 这两个例子帮助大家理解应用的方法,凡是cmd的命令都可以如此调用,是不是觉得方便了很多,希望这篇文章对你有帮助。 |
CopyRight 2018-2019 实验室设备网 版权所有 |