Я хочу иметь возможность сравнить содержимое двух текстовых файлов и посмотреть, совпадает ли содержимое этих файлов. Если содержимое двух файлов отличается, мне нужен этот скрипт powershell, чтобы отправить мне электронное письмо со списком отличий от двух файлов. Вот мой код:
$fromaddress = "noreply@xy.com"
$toaddress = "me@xy.com "
$Subject = "Comparing 2 text files"
$login = "abc"
$password = "12345" | Convertto-SecureString -AsPlainText -Force
$smtpserver = "smtp.office.com"
$message = new-object System.Net.Mail.MailMessage
$message.From = $fromaddress
$message.To.Add($toaddress)
$message.IsBodyHtml = $True
$message.Subject = $Subject
$attach = new-object Net.Mail.Attachment($attachment)
$message.Attachments.Add($attach)
$message.body = $body
$message.Priority = [System.Net.Mail.MailPriority]::High
$smtp = new-object Net.Mail.SmtpClient($smtpserver, 587)
$smtp.EnableSsl = $true
$smtp.Credentials = New-Object System.Net.NetworkCredential($login, $password);
IF (Compare-Object -ReferenceObject (Get-Content $dir\file1.txt) -DifferenceObject (Get-Content $dir\file2.txt)){
Write-Output "The files are different "
$smtp.Send($message);
}
Else {
Write-Output "The files are not different"
}
Я просматривал различные онлайн-ресурсы, в которых предлагалось использовать командлет Compare-Object
, но в моей ситуации он не работает. Проблема с моим кодом в том, что он возвращает все из файла file1. Любой, кто знает, почему это не работает для меня?