Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Ветеран


Сообщения: 1259
Благодарности: 861

Профиль | Отправить PM | Цитировать


$findAtr = $findFile -match "rar.sig.enc$" -cmatch "S" - Попробуйте узнать результат выполнения,может отработать только в случае массива,что врятли,для скалярного значения всегда выражение будет FALSE.


Добавить перед foreach переменную notfound:


Код: Выделить весь код
$notfound = @()
foreach($name in $base)
{
	$findFile = $files -match $name.N
	if($findFile)
	{
	Write-Host "Файл прислали $($name.N)"
	$name.N
	$findAtr = $findFile -match "rar.sig.enc$" -cmatch "S"
		if($findAtr)
		{
		Write-Host "Атрибуты верны"
		$name.N
		Copy-Item -Path $findFile -Destination $DayFolder.FullName
		}
		else
		{
		Write-Host "Атрибуты НЕ верны"
		$name.N
		Copy-Item -Path $findFile -Destination $DayFolder2.FullName
		}
	}
	else 
	{
		$notfound += $name
		Write-Host "Файл не прислали $($name.N)"
	}
}

if($notfound)
{
	$body = $notfound | Format-Table -auto | Out-String
	Send-MailMessage -encoding ([System.Text.Encoding]::UTF8) -From vftp@company.ru -To my@company.ru -Subject "Отчет об S-файлах. Не отправили:" -Body $body -SmtpServer mail.company.ru
}
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:32, 28-09-2012 | #6