很简单,我想查找所有以* .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"
}
答案 0 :(得分:1)
file(...)
是错误的方法,因为它会返回单个java.io.File
您可以做类似
的操作FileTree myTree = fileTree('etc') {
include '*.sql'
}
if (myTree.empty) {
...
} else {
copy {
from myTree
...
}
}