Read-Host
コマンドレットを使用して複数の行をキャプチャする方法はありますか?Read-Hostを使用して複数行を入力する
私の現在のアプローチは少し厄介です(そして実際には動作しません):
line one `n line two `n line three
Read-Host
コマンドレットを使用して複数の行をキャプチャする方法はありますか?Read-Hostを使用して複数行を入力する
私の現在のアプローチは少し厄介です(そして実際には動作しません):
line one `n line two `n line three
while (1) { read-host | set r; if (!$r) {break}}
:
PS> Send-MailMessage -SmtpServer 'smtp.domain.xxx' -From 'First Last <[email protected]>' -To 'First Last <[email protected]>' -Subject 'Testing' -Body (Read-Host 'Enter text')
Enter text: line one `n line two `n line three
結果の電子メールの本文は3行ではありません
空行で入力を終了します。
はあなたが唯一のラインのブランク/ホワイトスペースでループを終了
(@(While($l=(Read-Host).Trim()){$l}) -join("`n"))
(読み取りホストを)あなただけの持っているところ、このような何かを試してみてください。
実際の変数ではなく$_
を使用することができますが、私はそれが「気味の悪い」ので、私はそれをしません。
手前で処理し、実際の改行で制御文字を置き換えますか? Read-Hostは明らかにテキストを解釈しません。 – Matt
read-hostと定義されたbreakでdo whileループを試すことができます。 – Martin