Я хочу отслеживать новые файлы, добавленные в папку, и получать электронное письмо, чтобы уведомить меня о новом файле. Когда открывается слово doc, он создает временный файл и уведомляет меня об этом временном файле. Я хочу исключить эти временные файлы из моих уведомлений.
Кроме того, мне интересно, есть ли способ не открывать новые итерации Outlook при каждой отправке электронного письма.
$folder = 'S:\FRD\ENDOWMENT\Legacy Commitments\Donor files' # Enter the root path you want to monitor.
$filter = '*.*' # You can enter a wildcard filter here.
# In the following line, you can change 'IncludeSubdirectories to $true if required.
$fsw = New-Object IO.FileSystemWatcher $folder, $filter -Property @{
IncludeSubdirectories = $true;
NotifyFilter = [IO.NotifyFilters]'FileName, LastWrite'
}
# Here, all three events are registerd. You need only subscribe to events that you need:
Register-ObjectEvent $fsw Created -SourceIdentifier FileCreated -Action {
$name = $Event.SourceEventArgs.Name
$changeType = $Event.SourceEventArgs.ChangeType
$timeStamp = $Event.TimeGenerated
Write-Host "The file '$name' was $changeType at $timeStamp" -Fore Green
Start-Process Outlook
$o = New-Object -Com Outlook.Application
$mail = $o.CreateItem(0)
#2 = high importance email header
$mail.Importance = 2
$mail.Subject = "CYJL File Created"
$mail.Body = "The file '$name' was $changeType at $timeStamp"
#for multiple email, use semi-colon ; to separate
$mail.To = "ZMichelson@jfedcin.org"
$mail.Send()
Я ожидаю получать по электронной почте каждый раз, когда в папку добавляется новый файл, и не получать уведомления о добавлении временных файлов при открытии документов Word. Кроме того, я бы не хотел, чтобы при каждом отправлении электронного письма открывались новые итерации Outlook.