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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Get-Childitem. Исключить каталоги их содержимое при выполнении команды

Ответить
Настройки темы
PowerShell - [решено] Get-Childitem. Исключить каталоги их содержимое при выполнении команды

Пользователь


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

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


Изменения
Автор: epoddubniy
Дата: 10-08-2022
Здравствуйте!

На диске Е: много каталогов. Нужно получить результат команды таким образом, чтобы не вошли каталоги progs и ===KSC_BASE_BACKUP===. Затем результат отправить дальше по конвейеру: отобрать по дате и удалить

Код: Выделить весь код
$Data=Get-Date -Format "dd.MM.yyyy"
function {Get-ChildItem "E:\" -Recurse -Exclude "progs","===KSC_BASE_BACKUP===" | where-object {$_.creationtime -lt (get-date).date.adddays(0) -and $_.creationtime -ge (get-date).date.adddays(-5)} | Remove-Item -Force}
function
Поправьте пожалуйста, чтобы получился желаемый результат! Спасибо!!!

Отправлено: 15:47, 10-08-2022

 

Deadooshka


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

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


в -Exclude паттерны же, наверное "*\progs\*","*\===KSC_BASE_BACKUP===\*"
Это сообщение посчитали полезным следующие участники:

Отправлено: 20:40, 10-08-2022 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Пользователь


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

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


Цитата Sham:
в -Exclude паттерны же, наверное "*\progs\*","*\===KSC_BASE_BACKUP===\*" »
пробовал так, все равно в результаты попадали файлы из этих каталогов(((

Код: Выделить весь код
Get-ChildItem "E:\*" -Recurse -Exclude "*\===KSC_BASE_BACKUP===\*" | where-object {$_.creationtime -lt (get-date).date.adddays(1) -and $_.creationtime -ge (get-date).date.adddays(-5)}
Вот такой вывод:
Код: Выделить весь код
...

    Каталог: E:\===KSC_BASE_BACKUP===\klbackup2022-08-08#13-10-36\Packages\MDM4IOS\exec


Mode                LastWriteTime     Length Name                                                                                                                        
----                -------------     ------ ----                                                                                                                        
-a---        13.07.2022     14:45     708608 klcfginst.msi                                                                                                               
-a---        13.07.2022     14:45       4463 klever.json                                                                                                                 
-a---        13.07.2022     14:45      22342 license.txt                                                                                                                 
-a---        13.07.2022     14:45       3744 mdm4ios.kud                                                                                                                 
-a---        13.07.2022     14:45   12746752 MDM4IOS.msi                                                                                                                 
-a---        13.07.2022     14:45    4458008 setup.exe                                                                                                                   
-a---        13.07.2022     14:45        654 ss_install.xml                                                                                                              

...
Дальше по конвейеру на удаление не передавал, т.к. в отбор уже попали объекты, которые не нужно удалять

Последний раз редактировалось epoddubniy, 11-08-2022 в 11:27.


Отправлено: 11:21, 11-08-2022 | #3


Аватара для DJ Mogarych

fascinating rhythm


Moderator


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

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


Код: Выделить весь код
-exclude "*progs*","*KSC_BASE_BACKUP*"

-------
Powershell 7.x | Powershell 5.1 | ffmpeg (docs)

Это сообщение посчитали полезным следующие участники:

Отправлено: 11:46, 11-08-2022 | #4


Deadooshka


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

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


обходной путь - это добавить проверку в where-object
Код: Выделить весь код
-and $_.FullName -notmatch '\\(?:===KSC_BASE_BACKUP===|progs)\\'
в -exclude наверное проверяются только дочерние элементы без папок.
Это сообщение посчитали полезным следующие участники:

Отправлено: 04:02, 13-08-2022 | #5


Пользователь


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

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


Цитата DJ Mogarych:
-exclude "*progs*","*KSC_BASE_BACKUP*" »
да, такой вариант тоже пробовал, тоже почему-то не помогает

Sham, большое Вам Спасибо! Ваш вариант отработал так, как нужно было
Код: Выделить весь код
Get-ChildItem "E:\" -Recurse | where-object {$_.creationtime -lt (get-date).date.adddays(0) -and $_.creationtime -ge (get-date).date.adddays(-5) -and $_.FullName -notmatch '\\(?:===KSC_BASE_BACKUP===|progs)\\'}

Отправлено: 14:33, 18-08-2022 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Get-Childitem. Исключить каталоги их содержимое при выполнении команды

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Доступ - При выполнении команды cd win* выдает ошибку Jack8705 Лечение систем от вредоносных программ 1 16-01-2020 10:11
Redhat/Fedora - sudo - ошибка при выполнении команды с правами root __sa__nya Общий по Linux 7 16-05-2015 10:21
что означает отрицательный пинг при выполнении команды ping в Win XP? tonumber Тест-форум 5 04-05-2010 00:20
Печать - зависает комп при выполнении команды на печать с др.компа в локалке stepanbas Сетевые технологии 4 12-04-2010 12:48
Комп виснет при выполнении команды ms-dos felo Microsoft Windows 95/98/Me (архив) 2 01-09-2004 10:18




 
Переход