用exec运行del命令时,需要带参数/q,即安静模式,删除全局通配符时,不要求确认。
若没有/q,将不能正常删除文件夹中文件。
当直接在cmd中运行命令:del c:\temp\DemoCube,将出现以下提示
[img]/upload/attachment/140930/31146d26-c0a2-339e-88a1-4cad731dc316.jpg[/img]
也就是说,直接运行命令是会需要界面交互,进行确认的。但是在exec中运行,看不到这样的交互界面,为了程序高效率的执行,可能也不需要这样的交互。
因此按照下面的写法,在命令后面带上/q,即可正常删除文件了。
若没有/q,将不能正常删除文件夹中文件。
当直接在cmd中运行命令:del c:\temp\DemoCube,将出现以下提示
[img]/upload/attachment/140930/31146d26-c0a2-339e-88a1-4cad731dc316.jpg[/img]
也就是说,直接运行命令是会需要界面交互,进行确认的。但是在exec中运行,看不到这样的交互界面,为了程序高效率的执行,可能也不需要这样的交互。
因此按照下面的写法,在命令后面带上/q,即可正常删除文件了。
String cmd = "cmd.exe /c del C:\\temp\\DemoCube /q";
java.lang.Runtime.getRuntime().exec(cmd);