Find files between two date/times and copy

hi,
after an issue with certain files not processing last night I was asked to create a script to re-upload them… came up with this which uploads the last file created:

parameter “fileExtension”=".esd"
parameter “myLog”="c:\control\temp\fix.log"
parameter “backupFolder”=“c:\control\export\backup"
parameter “myfile”=”{(name of it) of items 1 of (maximum of modification times of files whose(name of it as lowercase ends with (parameter “fileExtension”)) of it, files whose(name of it as lowercase ends with (parameter “fileExtension”) of it) of it) whose (item 0 of it = modification time of item 1 of it) of folder (parameter “backupFolder”)}"
waithidden cmd /c copy “{parameter “backupFolder”}{parameter “myfile”}” “c:\control\upload” >> “{parameter “myLog”}”

Now I’ve been asked to do the same with multiple files created between two date and time stamps. I’ve been searching that long now I’m getting a haze in front of my eyes. I think I saw that I cannot pass a list of files to copy but struggling to see who to even get that list. Any pointers would be most welcome.

thanks, Steve

One approach could be to utilize relevance substitution to build the list of files between the 2 dates then parse that with a CMD for loop (a prefect use case for the posting Loops in Action Scripts)

parameter "SrcFolder" = "C:\TEMP"
parameter "DestFolder" = "C:\TEMP\Backup"
parameter "FileList" = "{"%22" & ( concatenation "%22 %22" of names of files whose (creation time of it > ("Fri, 23 Oct 2020 00:00:00 +0000" as time) and creation time of it < ("Wed, 03 Mar 2021 00:00:00 +0000") as time) of folder (parameter "SrcFolder")) & "%22"}"


run cmd.exe /k "for %a in ({parameter "FileList"}) do copy "{parameter "SrcFolder"}\%a" "{parameter "DestFolder"}"
3 Likes

That solution is a lot simpler than I imagined it would be. Effective and brilliant. Cheers

1 Like