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

Вывести суммарный объем файлов, которые не использовались в течении последнего месяца

19.03.2018, 20:14. Показов 4164. Ответов 12
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Подскажите пожалуйста, что нужно добавить к следующей записи, чтобы вывести суммарный объем файлов из временной папки, которые не использовались на протяжении последнего месяца? В задании сказано, что путь к временной папке должен быть прописан в переменной среды Temp.
Запись:
PowerShell
1
2
$temp=get-childitem C:\Windows\Temp\ -recurse -forse| measure-object -property-length -sum
$temp.sum
Заранее благодарна за помощь.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
19.03.2018, 20:14
Ответы с готовыми решениями:

Найти суммарный объем выполняемых файлов
Найти суммарный объем выполняемых файлов в текущем каталоге.

Как Определить: суммарный объем товаров, которые импортируются заданной страной
и суммарную стоимость партии товара по заданному шифру какая должна быть программа? хотя бы пример программа в VBA excel ...

Вывести названия которые не использовались
Как вывести названия отелей, которые не использовались при заказе?

12
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
20.03.2018, 10:01
Цитата Сообщение от Dziuba Посмотреть сообщение
Подскажите пожалуйста, что нужно добавить к следующей записи, чтобы вывести суммарный объем файлов из временной папки, которые не использовались на протяжении последнего месяца? В задании сказано, что путь к временной папке должен быть прописан в переменной среды Temp.
Размер всех файлов (в байтах) из временной папки (и подпапок) текущего пользователя, которые не изменялись (LastWriteTime) более 30 дней.

PowerShell
1
2
3
$date = Get-Date
$Result = Get-ChildItem -Path $env:TEMP -Recurse -File | Where {($date - $_.LastWriteTime).Days -gt 30} | Measure-Object length -Sum
$Result.Sum
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
20.03.2018, 10:40
Цитата Сообщение от KDE777
...которые не изменялись (LastWriteTime) более 30 дней.
30 дней - это не
Цитата Сообщение от Dziuba
...которые не использовались на протяжении последнего месяца...
В месяце может быть и 30, и 28\29, и 31 день. Так что лучше поправьте 30 на нечто вроде:
PowerShell
1
[DateTime]::DaysInMonth((Get-Date -u %Y), (Get-Date -u %m))
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
20.03.2018, 11:20
Цитата Сообщение от greg zakharov Посмотреть сообщение
В месяце может быть и 30, и 28\29, и 31 день. Так что лучше поправьте 30 на нечто вроде [DateTime]::DaysInMonth
И тогда 01.02.2018 будут выбраны файлы, которые не менялись более 28 дней и тут весь вопрос в том, что подразумевается под "на протяжении последнего месяца"?

Вот вариант без использования усреднённых 30 дней:

PowerShell
1
2
3
$date = (Get-Date).AddMonths(-1)
$Result = Get-ChildItem -Path $env:TEMP -Recurse -File | Where {$_.LastWriteTime -lt $date} | Measure-Object length -Sum
$Result.Sum
1
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
20.03.2018, 11:37
Цитата Сообщение от KDE777
Вот вариант без использования усреднённых 30 дней
А какой смысл вообще LastWriteTime с чем-то сравнивать? Если файл лапался изменялся, следовательно изменится и его LastWriteTime, а так как последний представлен типом DateTime, соответственно:
PowerShell
1
'{0:f2} Mb' -f ((ls $env:tmp|?{$_.LastWriteTime.AddMonths(-1)}|measure length -sum).sum / 1Mb)
1
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
20.03.2018, 11:52
Цитата Сообщение от greg zakharov Посмотреть сообщение
А какой смысл вообще LastWriteTime с чем-то сравнивать?
Ваш пример выбирает все файлы:

PowerShell
1
ls $env:tmp|?{$_.LastWriteTime.AddMonths(-1)} | sort LastWriteTime | select -Last 1 -First 1
Code
1
2
3
4
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       24.12.2010     17:26           6679 HelpSchema.xsl
-a----       20.03.2018     11:24          24576 ~DFA34FB8D84E6C06EA.TMP
Добавлено через 2 минуты
Т.е. без сравнения выбираются все файлы, у которых есть LastWriteTime

PowerShell
1
ls $env:tmp|?{$_.LastWriteTime} | sort LastWriteTime | select -Last 1 -First 1
Результат тот же:

Code
1
2
3
4
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       24.12.2010     17:26           6679 HelpSchema.xsl
-a----       20.03.2018     11:24          24576 ~DFA34FB8D84E6C06EA.TMP
1
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
20.03.2018, 12:24
Не знаю что у Вас не так, но выгрузив все модули, не наблюдаю того, что выводятся все файлы. Скорее всего PS чудит. На некоторых системах в сети прихолится писать:
PowerShell
1
$_.LastWriteTime -gt $_.LastWriteTime.AddMonths(-1)

Не по теме:

С такими багами у PS определенно нет будущего.

1
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
20.03.2018, 13:16
OFF

Не по теме:

Цитата Сообщение от greg zakharov Посмотреть сообщение
Скорее всего PS чудит.
Однако первым делом, конечно же:

Цитата Сообщение от greg zakharov Посмотреть сообщение
Никакой другой реплики от Вас и не следовало ожидать.
:)

Хотя, как уже убедились в прошлый раз, я скриншоты и результаты выполнения не рисую.



Добавлено через 12 минут
Цитата Сообщение от greg zakharov Посмотреть сообщение
На некоторых системах в сети прихолится писать:
PowerShell
1
$_.LastWriteTime -gt $_.LastWriteTime.AddMonths(-1)
И такой вариант у меня выбирает все файлы

PowerShell
1
2
3
ls $env:tmp -file | ?{$_.LastWriteTime -gt $_.LastWriteTime.AddMonths(-1)} | sort LastWriteTime | select -Last 1 -First 1
''
ls $env:TEMP -file | ? {$_.LastWriteTime} | sort LastWriteTime | select -Last 1 -First 1
Code
1
2
3
4
5
6
7
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       20.03.2015     11:24          45878 winstore.log
-a----       20.03.2018     12:26              5 test.txt
 
-a----       20.03.2015     11:24          45878 winstore.log
-a----       20.03.2018     12:26              5 test.txt
Добавлено через 27 минут
На всякий случай - проверил на Win7, 8.1, 2012R2; в PS 4 и 5.1 - везде один и тот же результат. В PS 6 не пробовал...
1
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
20.03.2018, 13:40
Цитата Сообщение от KDE777
В PS 6 не пробовал...
Зато истерику закатили, а ведь о 6 и была речь. Прада непонятно, почему спустя какой-то промежуток действительно возвращается весь список. В PS 6 куча странных багов.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
20.03.2018, 14:29
Цитата Сообщение от greg zakharov Посмотреть сообщение
Прада непонятно, почему спустя какой-то промежуток действительно возвращается весь список. В PS 6 куча странных багов.
Я уже писал, что без всякого PS Core, такой результат воспроизводится на трёх версиях ОС и двух версиях PS (4 и 5). Кстати, тот же результат - все файлы и в PS 2, т.е. у меня на разных системах, в 3-х версиях PS (2,4,5) ваш вариант работает некорректно.

Добавлено через 31 минуту
Проверил и PS 6.0.2, результат аналогичный - все файлы...

Кликните здесь для просмотра всего текста

Code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
PS C:\> $PSVersionTable.PSVersion
 
Major  Minor  Patch  PreReleas BuildLabel
                     eLabel
-----  -----  -----  --------- ----------
6      0      2
 
 
PS C:\> ls $env:TEMP -file | ? {$_.LastWriteTime} | sort LastWriteTime | select -Last 1 -First 1
 
    Directory: C:\Users\adm\AppData\Local\Temp
 
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       20.03.2015     11:24          45878 winstore.log
-a----       20.03.2018     12:26              5 test.txt
 
PS C:\> ls $env:tmp -file | ?{$_.LastWriteTime.AddMonths(-1)} | sort LastWriteTime | select -Last 1 -First 1
 
    Directory: C:\Users\adm\AppData\Local\Temp
 
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       20.03.2015     11:24          45878 winstore.log
-a----       20.03.2018     12:26              5 test.txt
 
PS C:\> ls $env:tmp -file | ?{$_.LastWriteTime -gt $_.LastWriteTime.AddMonths(-1)} | sort LastWriteTime | select -Last 1 -First 1
 
    Directory: C:\Users\adm\AppData\Local\Temp
 
Mode                LastWriteTime         Length Name
----                -------------         ------ ----
-a----       20.03.2015     11:24          45878 winstore.log
-a----       20.03.2018     12:26              5 test.txt
0
Покинул форум
3700 / 1483 / 355
Регистрация: 07.05.2015
Сообщений: 2,903
20.03.2018, 14:54
Цитата Сообщение от KDE777
Проверил и PS 6.0.2, результат аналогичный - все файлы...
Еще раз для тех, кто в танке: PS 6 ужасно бажная вещь. Посмотрите пост выше.
0
 Аватар для KDE777
1886 / 1108 / 428
Регистрация: 22.01.2016
Сообщений: 3,050
20.03.2018, 15:44
Цитата Сообщение от greg zakharov Посмотреть сообщение
Да?! И в каком же месте?
Уже отвечал - #6 просто результат проверки вашего примера, #7 "Никакой другой реплики от Вас и не следовало ожидать".

Цитата Сообщение от greg zakharov Посмотреть сообщение
Еще раз для тех, кто в танке: PS 6 ужасно бажная вещь.
Уже отвечал - повтор, для тех кто совсем не читает ответы: такой результат воспроизводится на трёх версиях ОС и в 4-х версиях PS (2, 4, 5, 6).
0
20.03.2018, 16:22
 Комментарий модератора 
Товарищи, дальше пишем только по теме, без оскорблений
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.03.2018, 16:22
Помогаю со студенческими работами здесь

Суммарный объем файлов, хранящихся в каталоге и его подкаталогах и имеющих определенное расширение
Вот нужно сделать bat файл который бы выполнял нахождение суммарного объема файлов, хранящихся в каталоге и его подкаталогах (каталог...

Найти суммарный объем n шаров и средний объем, если их радиусы образуют последовательность
Найти суммарный объем n шаров, если их радиусы образуют последовательность r , r + 0.2, r + 0.4, r+ 0.6, …. . Найти средний объем шара ...

Найти суммарный объем всех графических файлов (bmp, jpg), находящихся в каталоге Windows и всех его подкаталогах
Здравствуйте, требуется помощь с задачами, которые нужно выполнить в PowerShell Найти суммарный объем всех графических файлов (bmp,...

Вывести суммарный размер в байтах файлов каталога
Написать командный сценарий для интерпретатора bash, который выводил бы суммарный размер в байтах файлов каталога, указанного в...

NTFS, вывести суммарный размер файлов в заданном каталоге
Помогите реализовать пример Вывести суммарный размер файлов в заданном каталоге


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

Или воспользуйтесь поиском по форуму:
13
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru