フォルダ内でファイルを受け取ったときに電子メールを送信するために作成したPowerShellスクリプトを使用しています。私が抱えている問題は、監視されているフォルダパスの中に、送信された電子メール本文のハイパーリンクを破るパスにスペースがあることです。どのようにしてハイパーリンクを壊さないようにスペースを含めることができますか。powershellを使用して、パス内にスペースを含むハイパーリンクを作成する方法
私はパス名を取得するためにこれを使用:
$(split-path $Event.SourceEventArgs.FullPath)
私が使用していた電子メールの本文に追加するコードは以下の通りです:ここでは
$global:newFiles.Add("`n[$(Get-Date -Format HH:mm:ss)]`tNew file named $($Event.SourceEventArgs.Name) arrived in $(split-path $Event.SourceEventArgs.FullPath) and was copied to $($dPath)\$((Get-Date).ToString('yyyy'))\$((Get-Date).ToString('MMM yyyy'))\$((Get-Date).AddDays(1 + $(1,2 -eq 7 - [int]$formatteddate.dayofweek)).ToString('MMM d yyyy'))")
は、電子メールが送信される方法です。
while ($watcher.EnableRaisingEvents -or $global:newFiles.Count -gt 0) {
#Sleep
Start-Sleep -Seconds 60
if($global:newFiles.Count -gt 0) {
#Convert list of strings to single string (multiline)
$smtpbody = $global:newFiles
$smtp.Send($smtpFrom, $smtpTo, $smtpSubject, $smtpBody)
#Mail sent, Empty array
$global:newFiles.Clear()
}
}
は、ファイル名の例を与えることができますか?あなたのコードは本当に助けにはなりません(また、複数の 'Get-Date'呼び出しでかなり複雑に見えます) – TheIncorrigible1
これは電子メールの本文がどのように見えるかです:' [11:51:26] \t Test Claim 40791826 072117 Coversheet.pdfは\\ vavm \ FTP \ K NW \ Incomingに到着し、M:\ H_Audits \ Original Bills \ 2017 \ Aug 2017 \ Aug 31 2017 'にコピーされました\ ** \\ vavm \ FTP \ K * * ** \\ vavm \ FTP \ K NW \ Incoming ** – SikRikDaRula
の代わりにどのような方法でメールを作成/送信しますか? 'Send-MailMessage'? – TheIncorrigible1