我正在学习groovy并通过groovy执行ant。在测试时,我感到震惊,不知道如何继续或解决问题
问题如下:我正试图通过groovy内部的ant执行一个批处理命令,所以我的代码如下
ant.exec(executable: task, failonerror: true)
我的任务是删除一个类似的目录
def task = "rmdir /Q /S <path to folder>"
但当我执行这个程序时,我得到了这个错误
Caught: : Execute failed: java.io.IOException: Cannot run program "rmdir Q S <path to folder>": CreateProcess error=2, The system cannot find the file specified
: Execute failed: java.io.IOException: Cannot run program "rmdir Q S <path to folder>": CreateProcess error=2, The system cannot find the file specified
at org.apache.tools.ant.taskdefs.ExecTask.runExec(ExecTask.java:672)
at org.apache.tools.ant.taskdefs.ExecTask.execute(ExecTask.java:495)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at Test.cleanup(Test.groovy:20)
at Test$cleanup.call(Unknown Source)
at Test.main(Test.groovy:13)
我不知道怎么回事,但是前斜杠"/"
被转换成后斜杠""
因此应该是CCD_ 3的命令变为CCD_。
蚂蚁很可能认为有一条路径需要修复。可执行文件通常只指向二进制文件,然后添加参数。
ant.exec(executable: 'rmdir', failonerror: true) {
arg(value: '/Q')
arg(value: '/S')
arg(value: '<path to folder>')
}
BTW:还有ant.delete(dir:'<path to folder>')