1

powershell でファイルから空白行を削除する方法を尋ねる投稿をたくさん見てきましたが、send-mailmessage 呼び出しで bodyashtml に頼らずに空白行を保持しようとしています。

次のファイル mail.txt があります。

mail file blah blah blah

hshshshshs

そのファイルを cat すると、問題ないように見えます。主な問題は、「猫」を変数として扱うときです。

$BLAH = $(cat ${MAIL_FILE})
echo "blah is $BLAH"

次のように返されます

blah is mail file blah blah blah  hshshshshs

したがって、本文の一部として send-mailmessage に渡されると、次のようになります。

$BODY = @"

this is line two

$(cat ${MAIL_FILE})
"@

send-mailmessage `
  -from ${FROM} `
  -to ${MAIL_RECIPIENT} `
  -subject ${SUBJECT} `
  -body ${BODY} `
  -smtpserver ${RELAYHOST} `
  -priority ${PRIORITY}

のようにメールで出てきます。

line two

mail file blah blah blah  hshshshshs

それ以外の

<blank line here>
line two

mail file blah blah blah

hshshshshshhs

では、添付ファイルとしてではなく、メッセージの本文に渡されたファイルをそのまま「維持」するにはどうすればよいでしょうか。そして理想的には、その本文でも先頭の空白行を取得する方法。

4

1 に答える 1