通过具有自定义名称的Groovy脚本复制文件或文件夹
我试图在我的SoapUI项目中实现一个groovy脚本,该脚本将在执行请求后复制某些文件。我检查了其他主题,并设法使用以下脚本之一:通过具有自定义名称的Groovy脚本复制文件或文件夹,groovy,soapui,Groovy,Soapui,我试图在我的SoapUI项目中实现一个groovy脚本,该脚本将在执行请求后复制某些文件。我检查了其他主题,并设法使用以下脚本之一: class FileExample { static void main(String[] args) { def src = new File('C:/Users/USERNAME/Desktop/Results/Test_Result.xml') def dst = new File('C:/Users/USERNAME/Desk
class FileExample {
static void main(String[] args) {
def src = new File('C:/Users/USERNAME/Desktop/Results/Test_Result.xml')
def dst = new File('C:/Users/USERNAME/Desktop/Groovy Scripts/Copied File/Test_Result.xml')
dst << src.bytes
}
}
但它不起作用
你能告诉我另一种方法,我可以用它指出我要复制的自定义文件吗
亲切问候,
Kristiyan如果您只需要一个文件
def src = new File('C:/Users/USERNAME/Desktop/Results').listFiles().find{it.name.endsWith('.zipx')}
您可以使用每个文件
,遍历
,或
新文件('C:/Users/USERNAME/Desktop/Results')。每个文件{src->
if(src.name.endsWith('.zipx')){
def dst=新文件(“…/Copied File/”,src.name)
src.withInputStream{stream->dst谢谢!非常好用:)还可以告诉我,你是否知道如何使用扩展名之前的关键字定义文件。我尝试过类似于if(src.name.endsWith('%Value%.zipx')的方法
但它不起作用。很抱歉,如果这个问题有点愚蠢,但我是这方面的新手,对所有定义方法都不太熟练:/Kind,KristiyanI也尝试过使用if(src.name.eachFileMatch(~/.zipx/)的方法
但再次收到一个错误作为响应…也许我没有正确定义它。我的目标是复制扩展名之前名称中包含特定值的每个文件。如果(src.name~=/.*SomeKey.\.xzip/)
其中/.*SomeKey.*\.xzip/
是一个常规表达式我尝试过这样:.eachFile>{src->if(src.name~=/.*SomeKey.\.zipx/)
但我仍然得到一个错误:(第17列)if(src.name~=/.*Pack.*.\.zipx/)^org.codehaus.groovy.syntax.syntaxexException:expecting'),找到了“~”@第2行。也许我没有正确定义它……对不起,这应该是name=~/.
def src = new File('C:/Users/USERNAME/Desktop/Results').listFiles().find{it.name.endsWith('.zipx')}
new File('C:/Users/USERNAME/Desktop/Results').eachFile{src->
if(src.name.endsWith('.zipx')){
def dst = new File('.../Copied File/', src.name)
src.withInputStream{stream-> dst << stream }
}
}