Я готовлю сценарий конвейера Jenkins на языке Groovy.Я хотел бы переместить все файлы и папки в другое место.Поскольку Groovy поддерживает Java, поэтому для выполнения операции я использовал ниже Java-код.
pipe {agent any *
stages{
stage('Organise Files'){
steps{
script{
File sourceFolder = new File("C:\\My-Source");
File destinationFolder = new File("C:\\My-Destination");
File[] listOfFiles = sourceFolder.listFiles();
echo "Files Total: " + listOfFiles.length;
for (File file : listOfFiles) {
if (file.isFile()) {
echo file.getName()
Files.copy(Paths.get(file.path), Paths.get("C:\\My-Destination"));
}
}
}
}
}
}
}
Этот код выдает следующее исключение:
groovy.lang.MissingPropertyException: такого свойства нет: Файлы для класса: WorkflowScript
Я тоже пробовал с приведенным ниже кодом, но он тоже не работает.
FileUtils.copyFile(file.path, "C:\\My-Destination");
Наконец я сделалпопробуйте выполнить поток ввода-вывода java для выполнения операции, а код приведен ниже:
def srcStream = new File("C:\\My-Source\\**\\*").newDataInputStream()
def dstStream = new File("C:\\My-Destination").newDataOutputStream()
dstStream << srcStream
srcStream.close()
dstStream.close()
Но он также не работает и выдает следующее исключение:
java.io.FileNotFoundException: C: \ My-Source (доступ запрещен)
Может кто-нибудь предложить мне, как решить проблему, и, пожалуйста, также дайте мне знать, как я могу удалить файлы из исходного расположения после копирования илиподвинь это?Еще одна вещь, во время копирования я могу отфильтровать некоторые папки и файлы, используя подстановочный знак?Пожалуйста, дайте мне знать.