Warning: Declaration of c2c_ConfigureSMTP::options_page_description() should be compatible with C2C_Plugin_023::options_page_description($localized_heading_text = '') in /var/www/user137852/data/www/backnet.ru/wp-content/plugins/configure-smtp/configure-smtp.php on line 171
2016 Май » backnet — ответы на простые вопросы и не очень

PowerShell удаление документов по маске с исключениями

Доброго времени суток.

Возникла у меня необходимость удалять некоторые типы файлов на терминальном сервере из папок всех пользователей за исключением VIP.

Бился долго и упорно, пошарил по просторам интернета но найти решения не смог т.к. с powershell имел делать первый раз.

Решение подсказали человек с ником borne на киберфоруме, за что ему большое спасибо. Собственно вот решение:

Get-ChildItem -Path "C:\users\" -Exclude 'admin','administrator'|%{Get-ChildItem "$_\*" -Recurse -Include *.bmp,*.gif,*.jpeg,*.jpg,*.jpe,*.pdf,*.png,*.psd,*.tiff,*.svg,*.3gp,*.avi,*.flv,*.wmv,*.txt,*.doc,*.docx,*.djv,*.xls,*.xlsx,*.ods,*.bat,*.cmd,*.ps1,*.7z,*.rar,*.tar,*.zip,*.iso,*.jar,*.ppt,*.pptx,*.rtf,*.xml |%{Remove-Item $_ -Recurse -force}}
exit

Удаляем файлы типа  doc, rar , pdf и прочее во всех под папках папки C:\users кроме папок с названием admin и administrator.

Вот так оказалось легко и просто, ну а потом закидываем в планировщик и все чики пики. Удачи.

p.s. статья была старой, обновил в 2016 г. добавив несколько опций для устранения касячков.