I tried using various regex's in the rename task, but could never get it to work. As a temporary work around I tried using substring. The substring method works, but it's cumbersome and I'm sure there is a better way to do this, one with less tasks. I've attached my substring code below, anyone have any suggetsions on how to improve this or any regex suggestions (other than directing me to the "Wildcards and Regular Expressions" secton in the Appendix of the help documentation in GAD)?
I am using GoAnywhere Director v4.7.0 on a Windows Server 2012
Thank you for your time!
Code: Select all
<project name="test_rename" mainModule="Main" version="2.0" logLevel="debug">
<description>Test rename of a file using substring</description>
<module name="Main" logLevel="debug">
<createWorkspace version="1.0" />
<setVariable label="setVariable - error_SftpToEnq" name="error_SftpToEnq" value="0" version="2.0" />
<sftp label="sftp - to enqapp1" resourceId="enqapp1-sftp-ga" outputSessionId="EnqSessionID" version="1.0" onError="setVariable:error_SftpToEnq=1">
<get label="get - file from enqapp1" destinationDir="${system.job.workspace}" destinationFilesVariable="LocFiles" numFilesDownloadedVariable="FileDwnldCount" processedSourceFilesVariable="RemoteFiles">
<fileset dir="/data03/fio/prd/xfr/cst/tcm/">
<regexFilter>
<include pattern="^BUEP01S" caseSensitive="true" />
</regexFilter>
</fileset>
</get>
</sftp>
<ftpCloseSession label="ftpCloseSession" sessionId="${EnqSessionID}" version="1.0" />
<forEachLoop label="forEachLoop - Rename Files" itemsVariable="${LocFiles}" currentItemVariable="CurrentFile">
<setVariable label="setVariable - FileName" name="FileName" value="${CurrentFile:name}" version="2.0" />
<print label="print - to log file" version="1.0">
<![CDATA[The variable "FileName" contains: ${FileName}]]>
</print>
<setVariable label="setVariable - FilePrefix" name="FilePrefix" value="${Substring(FileName,1,7)}" version="2.0" />
<print label="print - to log file" version="1.0">
<![CDATA[The variable "FilePrefix" contains: ${FilePrefix}]]>
</print>
<setVariable label="setVariable - FileSuffix" name="FileSuffix" value="${Substring(FileName,21,4)}" version="2.0" />
<print label="print - to log file" version="1.0">
<![CDATA[The variable "FileSuffix" contains: ${FileSuffix}]]>
</print>
<setVariable label="setVariable - NewFileName" name="NewFileName" value="${FilePrefix}${FileSuffix}.txt" version="2.0" />
<print label="print - to log file" version="1.0">
<![CDATA[The variable "NewFileName" contains: ${NewFileName}]]>
</print>
<rename label="rename" inputFile="${FileName}" newName="${NewFileName}" outputFilesVariable="RenamedFiles" version="1.0" />
</forEachLoop>
</module>
</project>