Войти

Показать полную графическую версию : Поиск файлов по расширению (условие размер)


inter2008
18-12-2018, 08:34
Здравствуйте!

Версия PS 5.1.14409
Мой скрипт сканирует папки на заданные расширения, пишет в лог файл, информацию: путь к файлу,cсоздателя, дату создания, затем архивирует и отправляет на почту.
#Поиск Аудио файлов
Get-ChildItem -Attributes D,H,S,A -literalpath "\\?\D:\Папка\" -recurse | Where-Object {$_.extension -match "\.ogg|.mp3|.wav|.mid|.midi|.flac"} | Select-Object FullName, basename, @{Label = "Owner"; expression = {$_.GetAccessControl().owner}},CreationTime | export-csv -Path C:\test\SOUND.csv -Encoding UTF8 -NoTypeInformation
#Архивируем
Compress-Archive -Path C:\test\ -DestinationPath C:\Archive\logs-all.zip -CompressionLevel Optimal -Update
#Отправка почты
Send-MailMessage -From "mail@mail.ru" -To "user@mail.ru" -Subject "logs" -Attachments "C:\Archive\logs-all.zip" -SmtpServer "servername" -Port 25

Все работает ок, но так как файлов в папке с заданным расширением бывает много то и лог файл получается большим.
Как мне добавить условие, чтобы скрипт проверял файл по размеру и пропускал запись в лог файлов с заданным расширением меньше 500 кб ?
Буду вам признателен за помощь.

Kazun
18-12-2018, 08:55
Where-Object {$_.extension -match "\.ogg|.mp3|.wav|.mid|.midi|.flac" -and $_.Length -gt 500kb}

YuS_2
18-12-2018, 18:10
"\.ogg|.mp3|.wav|.mid|.midi|.flac" »
Хотелось бы чуть подправить регэксп:
"\.(ogg|mp3|wav|mid|midi|flac)"

inter2008
28-12-2018, 16:37
Спасибо! Все получилось.




© OSzone.net 2001-2012