|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » PowerShell - [решено] Поиск файлов (дата изменения с начала предыдущих суток) |
|
|
PowerShell - [решено] Поиск файлов (дата изменения с начала предыдущих суток)
|
Новый участник Сообщения: 25 |
Добрый день. Делается поиск файлов в указанном каталоге, включая вложенные папки с фильтром расширения.
Нужно найти все файлы, измененные вчера. Однако если сейчас 12-00, и файл изменен вчера в 9-00 - в результат поиска он не попадает (что логично) Если сделать adddays(-2) - туда попадут файлы в т.ч. с позавчера.. |
|
Отправлено: 14:29, 19-02-2020 |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать |
Отправлено: 14:50, 19-02-2020 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 14:59, 19-02-2020 | #3 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:08, 19-02-2020 | #4 |
Новый участник Сообщения: 25
|
Профиль | Отправить PM | Цитировать YuS_2, Busla, Спасибо. все гениальное- просто!
Цитата Busla:
|
||
Отправлено: 15:12, 19-02-2020 | #5 |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать скорее не правильнее, а привычнее... а правильность - понятие относительное.
![]() |
------- Отправлено: 15:27, 19-02-2020 | #6 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата solonenko:
PS C:\> Get-Date среда, 19 февраля 2020 года 17:30:06 PS C:\> (Get-Date).AddDays(-1) вторник, 18 февраля 2020 года 17:30:11 PS C:\> (Get-Date).AddDays(-0.5) среда, 19 февраля 2020 года 05:30:18 Статическое свойство .Today того же самого класса System.DateTime также возвращает значение типа System.DateTime с текущей датой и с приведённым к нулю значением времени. И посему «вчера» (.AddDays(-1)) в вышеприведённых коллегой Busla кодах будет означать «сутки назад, считая от нуля часов нуля минут сегодняшнего числа». |
|
Отправлено: 17:39, 19-02-2020 | #7 |
Ветеран Сообщения: 3806
|
Профиль | Отправить PM | Цитировать Цитата solonenko:
в случае скобки лишние командлет Get-Date обращается к конструктору класса datetime получает объект с текущим моментом времени получает из объекта ссылку на родительский класс - всё тот же datetime выкидывает объект обращается к специализированному конструктору класса datetime получает объект с моментом начала суток вычитает один день код обращается к специализированному конструктору класса datetime получает объект с моментом начала суток вычитает один день понятно, что если постоянно использовать подобные окольные пути, программы будут работать дольше и памяти требовать больше вариант ресурсы не экономит, но вместо Get-Date может быть любой момент времени, и всё будет считаться относительно него т.е. это "чистая функция" которая не использует side-эффекты - код с ней проще отлаживать, изменять, переиспользовать |
|
Отправлено: 19:23, 19-02-2020 | #8 |
Crazy Сообщения: 1218
|
Профиль | Отправить PM | Цитировать Цитата Busla:
Но на практике, первичное обращение: measure-command{((Get-Date)::today).adddays(-1)} Days : 0 Hours : 0 Minutes : 0 Seconds : 0 Milliseconds : 47 Ticks : 470354 TotalDays : 5,44391203703704E-07 TotalHours : 1,30653888888889E-05 TotalMinutes : 0,000783923333333333 TotalSeconds : 0,0470354 TotalMilliseconds : 47,0354 measure-command{[datetime]::today.AddDays(-1)} Days : 0 Hours : 0 Minutes : 0 Seconds : 0 Milliseconds : 60 Ticks : 601712 TotalDays : 6,96425925925926E-07 TotalHours : 1,67142222222222E-05 TotalMinutes : 0,00100285333333333 TotalSeconds : 0,0601712 TotalMilliseconds : 60,1712 ![]() |
|
------- Отправлено: 23:20, 19-02-2020 | #9 |
![]() Ветеран Сообщения: 2798
|
Профиль | Отправить PM | Цитировать YuS_2, более 20% разницы в производительности... очень даже имеет.
Если такой командлет будет вызываться 20 раз в функции, которая будет вызываться 50 раз в скрипте - получится значительная задержка, которой могло бы и не быть. Что уж говорить если такую функцию воткнут в foreach |
Отправлено: 11:47, 20-02-2020 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Перенос атрибутов файлов - дата создания, изменения. | __sa__nya | Хочу все знать | 11 | 12-08-2021 14:40 | |
Названа дата начала продаж и стоимость часов Qualcomm Toq | OSZone News | Новости железа | 9 | 29-11-2013 21:22 | |
Названы стоимость и дата начала продаж PlayStation 4 | OSZone News | Новости информационных технологий | 0 | 11-06-2013 09:30 | |
Названа стоимость и дата начала продаж планшетов Surface Pro | OSZone News | Новости и события Microsoft | 0 | 30-11-2012 11:30 | |
При скачивании файлов из интернета дата изменения - это окончания скачивания | __sa__nya | Лечение систем от вредоносных программ | 3 | 12-08-2009 16:05 |
|