Forum Discussion
PandaPoodle
Feb 06, 2022Copper Contributor
Copy a file and send that copy via email on a loop
Hi, I was just wondering if there is a way to copy a .txt file to a specific destination and then send that copy via email on a loop that runs every hour or so? I've tried to do it but have had no lu...
- Feb 08, 2022
Some error handling and checking 🙂
function Test-FileLock { param ( [parameter(Mandatory = $true)][string]$Path ) $oFile = New-Object System.IO.FileInfo $Path if ((Test-Path -Path $Path) -eq $false) { return $false } try { $oStream = $oFile.Open([System.IO.FileMode]::Open, [System.IO.FileAccess]::ReadWrite, [System.IO.FileShare]::None) if ($oStream) { $oStream.Close() } $false } catch { # file is locked by a process. return $true } } while ($true) { #Copying file to other location but checking if it's in use first if ((Test-Filelock -path d:\backup\filename.txt) -eq $False) { Copy-Item -Path c:\temp\filename.txt -Destination d:\backup -Force:$true #Sending mail with the file Send-MailMessage -SmtpServer smtp.domain.local -port 25 -Subject "Emailing the file" -Body "See attached file" -Attachments d:\backup\filename.txt -To "Email address removed" -From "Email address removed" } #Wait for 1 hour Start-Sleep -Seconds 3600 }
PandaPoodle
Feb 08, 2022Copper Contributor
That works great! Thank you so much for all your help!!
Feb 08, 2022
No problem and please mark my answer as solution 😊