我目前有一个脚本,通过正则表达式包含和排除将文件从源目录复制到目标目录,但是当路径包含括号时,文件将不会复制。
我最初的想法是,问题在于如何读取源和目标,因为 ( 是一个特殊字符,为了对抗我试图用转义的 (,但我可能做错了那部分。
import groovy.io.FileType
import java.nio.file.*
String Source = 'C:/temp/file(s)'
String Target = 'C:/newTemp/file(s)'
String InclusionsRegexes = "garbage.txt"
String ExclusionsRegexes = ""
class RegexInfo
{
private String AllRegexes = "";
public RegexInfo(String RegexString, String RegexType, String Source)
{
if(RegexString != null)
{
def RegexArray = RegexString.split(",");
for(item in RegexArray)
{
String fullRegexPath = Source + "/" + item;
if(AllRegexes != null && !AllRegexes.isAllWhitespace())
{
//Add regex value for Or
AllRegexes += "|";
}
AllRegexes += fullRegexPath;
}
}
}
public String getAllRegexes() { return this.AllRegexes; }
}
IncludesRegexInfo = new RegexInfo(InclusionsRegexes, "inclusion", Source);
ExcludesRegexInfo = new RegexInfo(ExclusionsRegexes, "exclusion", Source);
File SourceDirToCopy = new File(Source);
SourceDirToCopy.eachFileRecurse()
{
SourceFile ->
String SourceFilePath = SourceFile.toString().replaceAll("\\\\","/");
if(SourceFile.isDirectory())
{
SourceFilePath += "/"
}
我收到的错误要么是意外字符,要么是文件没有错误地移动。
慕姐8265434
相关分类