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

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

Ответить
Настройки темы
PowerShell - [решено] Подсчёт объёма файлов старше определенной даты

Аватара для dmitryst

Ветеран


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


Конфигурация

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


Коллеги, приветствую!
Дано:
Сервер 2016 с рабочей папкой, скажем, "D:\Work". Папка довольно большого объёма, для бэкапов уже неподъёмная, практически. Решено скинуть файлы (с помощью robocopy или pshell скрипта, это неважно) на отдельный диск, но как узнать объем этих файлов? Методом тыка на диск 1Тб не влезает.
Надо: прошу помощи, как определить объем файлов старше 5 лет, например, скриптом? Лучше через Powershell, но и обычный cmd тоже сойдет (на аналогичном сервере под *nix всё сделал, можно сказать, штатными средствами, а тут затык...)

-------
Осваиваю FreeBSD


Отправлено: 08:51, 11-12-2023

 

Аватара для NickM

Ветеран


Contributor


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

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


Не оно ли?

Как узнать размер папок на диске с помощью PowerShell?
Цитата:
Вы можете использовать фильтры для выбора файлов, которые нужно учитывать при расчете размера. Например, вы можете посчитать размер файлов, созданных за 2020 год
Код: Выделить весь код
(gci -force c:\ps –Recurse -ErrorAction SilentlyContinue | ? {$_.CreationTime -gt ‘1/1/20’ -AND $_.CreationTime -lt ‘12/31/20’}| measure Length -s).sum / 1Gb
Это сообщение посчитали полезным следующие участники:

Отправлено: 09:23, 11-12-2023 | #2



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

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


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

fascinating rhythm


Moderator


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

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


Цитата NickM:
$_.CreationTime -gt ‘1/1/20’ -AND $_.CreationTime -lt ‘12/31/20’ »
1 января и 31 декабря не попадут в выборку.

Удобнее, если речь идёт о 2020 годе, так:
Код: Выделить весь код
(dir 'D:\Downloads' -file |? {$_.CreationTime.Year -eq 2020} |measure length -Sum).Sum / 1GB
Если "старше 5 лет", то
Код: Выделить весь код
{$_.CreationTime -lt (get-date).AddYears(-5)}
Также, желательно определиться, какой именно критерий учитывать - CreationTime или LastWriteTime.

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

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

Отправлено: 09:43, 11-12-2023 | #3


Аватара для dmitryst

Ветеран


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

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


Я пытался делать так:
Код: Выделить весь код
 (Get-ChildItem -Path $path -Recurse | Where-Object {$_.LastAccessTime -le $date} | measure Length -s).sum / 1Gb
Скрипт выдавал нулевой результат (если заменить на LastWriteTime, то тоже работает)
Теперь работает так:
Код: Выделить весь код
$date = (Get-Date).AddYears(-5)
$path = "D:\Work"
(gci -force $path -Recurse -ErrorAction SilentlyContinue | ? {$_.LastWriteTime -lt $date}| measure Length -s).sum / 1Gb
В моём случае всё-таки LastWriteTime вместо CreationTime.

Цитата DJ Mogarych:
1 января и 31 декабря не попадут в выборку. »
Ну, с lt / le и gt / ge проблем нет

Спасибо за подсказку!
ПС. В конец скрипта добавил
Код: Выделить весь код
$host.ui.RawUI.ReadKey(6)|out-null
чтобы окно не закрывалось.

-------
Осваиваю FreeBSD


Последний раз редактировалось dmitryst, 11-12-2023 в 10:13.


Отправлено: 10:03, 11-12-2023 | #4



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Любой язык - [решено] Удалить файлы из каталога и подкаталогов старше даты Х но младше даты У epoddubniy Скриптовые языки администрирования Windows 29 20-06-2021 21:30
VBS/WSH/JS - Удаление файлов старше даты, доработка techobsl Скриптовые языки администрирования Windows 0 14-09-2015 10:24
PowerShell - Удаление файлов старше определенной даты volk1234 Скриптовые языки администрирования Windows 15 23-11-2014 14:52
Работа программы до определенной даты malev AutoIt 29 11-12-2010 19:22
Прочие БД - Interbase 7,удаление всех записей до определенной даты dima-sh Программирование и базы данных 1 27-02-2009 01:27




 
Переход