Как избежать ASCII 0D 0A в текстовом сообщении - PullRequest
0 голосов
/ 03 января 2012

У меня есть скрипт powershell, который отправляет текстовое сообщение через смс-шлюз.Я получаю содержимое сообщения из текстового файла без каких-либо возвратов, но всегда получаю текстовые сообщения с содержимым и последними символами 0D 0A.Как я могу избежать этого персонажа?Это мой код PowerShell:

    $path = "C:\test.txt"
$EmailAddress = "test@test.com"
$smtpServer = "123.456.789.10"
$smsGateway = "0123456789@smsgateway.com"
$subject = "asdawadWA5556WAAA"

$body = get-content $path
[string]$stringBody = $body |out-string
send-mailmessage -From $EmailAddress -To $smsGateway -Subject $subject -Body $stringBody -Smtpserver $smtpServer

1 Ответ

3 голосов
/ 03 января 2012

Поскольку строки PowerShell действительно являются строками .NET, вы можете использовать удобный метод String.Trim для удаления начальных и конечных пробельных символов;тезисы включают 0x0D и 0x0A, символы возврата каретки ASCII и перевода строки, которые составляют стандартную фразу перевода строки Windows.

Все, что вам нужно сделать, это добавить вызов .Trim() к аргументу вBody параметр:

-Body $stringBody.Trim()
...