Форум программистов, компьютерный форум, киберфорум
PowerShell
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/8: Рейтинг темы: голосов - 8, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 20.12.2022
Сообщений: 4

Удаление папок третьего уровня и файлов

20.12.2022, 09:39. Показов 1927. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Задача наверное для кого-то тривиальная, но мне PS не знаком поэтому решил обратиться сюда, т.к. нужен скрипт именно на PS.
Есть сетевая шара, допустим \\10.10.10.10\Shara в ней есть только папки первого уровня Склад новый, Склад старый, Sklad3 и т.д. (т.е. в имени есть пробелы и русские буквы, вдруг это будет принципиально). В каждой папке первого уровня есть только папки второго уровня, например Иванов, Петров, Сидоров (и так в каждой папке разные фамилии).
Задача, пробежаться по пакам второго уровня и удалить в них все файлы у которых дата создания больше 7 дней, соответственно если там остаются пустые папки третьего, четвертого, пятого и т.д. уровня вложенности то их тоже удаляем. Т.е. после отработки скрипта каталоги первого и второго уровней в шаре остаются на месте (их удалять нельзя), а вот уже в них удаляем ненужные файлы и соответственно пустые папки третьего и ниже уровней.
Как удалять в конкретной папке я нашел на форумах, но мне нужно удалять конкретно как описано выше.
Помогите пожалуйста адаптировать это (скрипт ниже, опять же я не знаю, можно ли там в качестве параметра $TargetFolder использовать путь к шаре) под мою задачу:

PowerShell
1
2
3
4
5
6
7
8
9
10
11
12
13
# Выполняем настройку скрипта.
$TargetFolder = "C:\Program Files\Temp\Trace" # Путь к папке логов.
$Period = "-7" # Количество хранимых дней.
 
# Вычисляем дату после которой будем удалять файлы.
$CurrentDay = Get-Date
$ChDaysDel = $CurrentDay.AddDays($Period)
 
# Удаление файлов, дата создания которых больше заданного количества дней
GCI -Path $TargetFolder -Recurse | Where-Object {$_.CreationTime -LT $ChDaysDel} | RI -Recurse -Force 
 
# Удаление пустых папок
GCI -Path $TargetFolder -Recurse | Where-Object {$_.PSIsContainer -and @(Get-ChildItem -Path $_.Fullname -Recurse | Where { -not $_.PSIsContainer }).Count -eq 0 } | RI -Recurse
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.12.2022, 09:39
Ответы с готовыми решениями:

Удаление всех файлов и папок, кроме некоторых (в т.ч из других папок)
Приветствую, решил сделать для племянника батник на сервер одной из игр, написал уже многое, но интересует очистка всей папки сервера,...

Чистка файлов и папок в каталоге 2 уровня
Всем доброго времени суток. Подскажите пожалуйста какой нибудь вариант автоматической чистки подкаталогов. Например есть Папка...

Удаление файлов и папок на большом количестве папок
в папке ключи есть много папок,в этих папках есть ключи файлы(в других папках такие же файлы но конец название другая ) как можно удалить...

8
 Аватар для alhaos
1927 / 544 / 153
Регистрация: 20.02.2019
Сообщений: 2,659
Записей в блоге: 65
20.12.2022, 12:46
Лучший ответ Сообщение было отмечено Problemlogin как решение

Решение

PowerShell
1
2
3
4
5
6
7
8
9
param(
    $Share = '\\localhost\c$\tmp'
)
 
$2levelDirs = Get-ChildItem $Share -Directory
| Get-ChildItem -Directory 
| Select-Object FullName
 
$2levelDirs
так вы получите список каталогов второго уровня, пройдитесь по нему циклом.
1
 Аватар для volodin661
6627 / 2258 / 346
Регистрация: 10.12.2013
Сообщений: 7,813
20.12.2022, 16:14
пустые папки, полные мамки, рождаемость падает.
0
0 / 0 / 0
Регистрация: 20.12.2022
Сообщений: 4
21.12.2022, 09:09  [ТС]
Цитата Сообщение от volodin661 Посмотреть сообщение
пустые папки, полные мамки, рождаемость падает.
У каждого свои печали, только как эта столь важная информация поможет в решении моей проблемы?

Добавлено через 3 минуты
Цитата Сообщение от alhaos Посмотреть сообщение
PowerShell
1
2
3
4
5
6
7
param(
    $Share = '\\localhost\c$\tmp'
)
 
$2levelDirs = Get-ChildItem $Share -Directory | Get-ChildItem -Directory | Select-Object FullName
 
echo $2levelDirs
так вы получите список каталогов второго уровня, пройдитесь по нему циклом.
Запустил в PS Ваш скрипт, получил вывод папок на экран. Это то что нужно. Попытался скрестить с тем что нашел выше в разных вариациях - ничего у меня не получилось. Пробовал даже почистить только файлы по предложенному в моем топике варианту, оказало и он не корректно работает, чистит только все в ноль, если задать нулевое количество дней. Если задать -1 день, ничего не чистит вообще.
Повторюсь PS для меня темный лес, а изучать его у меня нет времени и боюсь способности в силу возраста, поэтому и написал сюда в надежде получить готовое решение )))
0
 Аватар для alhaos
1927 / 544 / 153
Регистрация: 20.02.2019
Сообщений: 2,659
Записей в блоге: 65
21.12.2022, 23:10
Problemlogin, сурово...
0
0 / 0 / 0
Регистрация: 20.12.2022
Сообщений: 4
22.12.2022, 05:33  [ТС]
Зато честно...
0
 Аватар для alhaos
1927 / 544 / 153
Регистрация: 20.02.2019
Сообщений: 2,659
Записей в блоге: 65
22.12.2022, 07:20
Problemlogin,
«Если долго сидеть на берегу реки, то можно увидеть, как по ней проплывет труп твоего врага.»
0
0 / 0 / 0
Регистрация: 20.12.2022
Сообщений: 4
23.12.2022, 10:29  [ТС]
to alhaos
Посидел я на бережку, никого плывущего не увидел, решил поплыть сам....
Спасибо за помощь! Ваша подсказка была ключевой, по сути половина задачи )))
0
 Аватар для alhaos
1927 / 544 / 153
Регистрация: 20.02.2019
Сообщений: 2,659
Записей в блоге: 65
23.12.2022, 13:07
Problemlogin, будут вопросы пиши...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
23.12.2022, 13:07
Помогаю со студенческими работами здесь

Перенаправление с домена третьего уровня на домен второго уровня
Здравствуйте. Возможно ли с помощью htaccess перенаправлять адреса от домена третьего уровня, на домен второго уровня? Например чтобы...

Удаление файлов и папок
У меня есть папка со следующей конструкцией 2018 01 01 0100.txt 0200.txt ........... ...

Удаление папок и файлов
Доброго времени суток! Проблема заключается в следующем, на сервере при перезагрузке нужно автоматизировать очистку переменки, временных...

Удаление файлов и папок
В общем такая проблема... есть батник @echo off set "d=F:\Clean" set "d1=IT" set "d2=All" set "f1=KVRT.exe" set...

Удаление файлов и папок
В общем проблема такая: у меня есть файловый менеджер, отображение элементов идет через treeview и listview. Как сделать кнопку, для...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru