简而言之,我想查找所有以* .sql结尾的文件,并复制它们(如果存在)。
etc目录中可能有0个或多个文件。
File sqlfiles = file('etc/' + '*.sql')
logger.info("Looking for SQL files: " + sqlfiles);
if (sqlfiles.exists())
{
logger.info("Found log SQL file: " + sqlfiles);
copy
{
from sqlfiles
into "$rpmStoredir"
}
}
else
{
logger.warn("No SQL file found - skipping");
}
用我的代码,通配符在这里不起作用。
因此,如下所示在副本中添加“包含”是可行的,但是我只想弄清楚如果文件不存在时如何添加记录器
copy
{
from "etc/"
include "*.sql"
into "$rpmStoredir"
}
最佳答案
file(...)
是错误的方法,因为它返回单个java.io.File
你可以做类似的事情
FileTree myTree = fileTree('etc') {
include '*.sql'
}
if (myTree.empty) {
...
} else {
copy {
from myTree
...
}
}
参见Project.fileTree(Object, Closure)和FileTree