Невозможно получить полный текст для сравнения из писем, экспортированных в файл .csv, получая только 1-ю строку основного текста - PullRequest
0 голосов
/ 29 июня 2019

Я пытаюсь сравнить текст сообщения электронной почты, полученного в учетной записи Outlook, с определенным текстом.

Я выполнил следующие действия:

  • Чтение Outlook
  • Извлечение требуемой электронной почты из папки входящих сообщений
  • Экспорт сообщений электронной почты в файл CSV для сравнения
  • Сравните, если CSV-файл содержит определенный текст, который нужно сравнить / проверить.

Однако в моем случае powershell способен сравнивать только первую строку основного текста изCSV-файл, остальные строки не сравниваются, и сравнение не выполняется, если я включаю весь текст для сравнения в строку.

Я пробовал следовать логике с изменением -contains, -like, -eq, -match и т. Д.

При сравнении можно сравнить фактическое тело письма с предопределенным текстом.

If (Select-String -SimpleMatch -List -Pattern $body2 -Path $filelocation1)    
 {   
    Write-Output "Match" 
 }

Доступ к почтовому ящику Outlook

$outlook = new-object -com outlook.application
$ns = $outlook.GetNameSpace("MAPI")
$inbox = $ns.GetDefaultFolder($olFolderInbox) 
$targetfolder = $inbox.Folders | where-object { $_.name -eq "Inbox_Subfolder"}
$email = $targetfolder.items | Where {($_.SenderName -eq "sendername")} | 

Экспорт результатов поиска в файл csv

Where {$_.Subject -match "subject"} | Out-File -FilePath $filelocation1
$body2="Body Text to be compared, it is around 320 chars"

Я хочу сравнить все 320 символов текста за один рази посмотрите, совпадает ли тело письма в файле csv с ожидаемым текстом письма.

1 Ответ

0 голосов
/ 29 июня 2019

Используйте Get-Content для хранения основного текста

Where {$_.Subject -match "subject"} | Out-File -FilePath $filelocation1
$body2 = Get-Content -Path $filelocation1

Затем поставьте условие в выражение if следующим образом:

If ($body2 -match $predefinedtext) {

    Write-Output "Match"
}

Это будет сравниваться с КАЖДЫМ символом с Get-Content.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...