|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » Любой язык - [решено] Удалить файлы из каталога и подкаталогов старше даты Х но младше даты У |
|
|
Любой язык - [решено] Удалить файлы из каталога и подкаталогов старше даты Х но младше даты У
|
Пользователь Сообщения: 105 |
Здравствуйте!
Есть каталог "Dir". В этом каталоге - подкаталоги "SubDir1, SubDir2, SubDir3...". В подкаталогах файлы с датой создания начиная с лохматых времен, которые удалять пока нельзя, но и копировать - некуда. В подкаталогах файлы создаются каждый день. Как удалить файлы созданные позже 30.05.21, но раньше 04.05.21? Помогите, пожалуйста. Любой язык, WSH. CMD, Powershell Спасибо! |
|
Отправлено: 15:08, 07-06-2021 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 15:40, 07-06-2021 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать DJ Mogarych, можно сразу в метод:
И вроде бы у ТС было указано "но", т.о. не -or а -and, но тогда какой-то бред получается "раньше чем позже, но позже чем раньше" |
Последний раз редактировалось Elven, 07-06-2021 в 16:16. Отправлено: 16:10, 07-06-2021 | #3 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Никакого бреда. "And" в данном случае - это файл должен быть создан и после одной даты и до другой одновременно, т. е., такой выборке не будет ничего соответствовать.
Поэтому выбираем файлы до одной даты ИЛИ после другой. |
------- Отправлено: 16:32, 07-06-2021 | #4 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать DJ Mogarych, не буду спорить. Тем более, что да - в такую выборку ни один файл не попадет. Но мне вот что-то кажется что ТС даты местами перепутал.
|
|
Отправлено: 16:40, 07-06-2021 | #5 |
Пользователь Сообщения: 105
|
Профиль | Отправить PM | Цитировать Цитата Elven:
вместо 04.06.21 написал 04.05.21 DJ Mogarych, объясните пожалуйста, удалились все архивы и до 14.04.21 и после 26.04.21 и между 14.04-26.04 что я не так сделал? Скажите пожалуйста что означают -gt(это же - "раньше"?), -lt (это же - "later? позже?") |
|
Отправлено: 18:41, 08-06-2021 | #6 |
Забанен Сообщения: 793
|
-gt и -lt - это операторы сравнения, означающие "больше" и " меньше" соответственно. На языке математики это будет выглядеть как > и < соответственно.
В вашем случае проще инвертировать даты в т.н. julian day и определить диапазон значений (с теорией множеств вы же знакомы, верно?), что упростит работу с датами, во-первых, а во-вторых, исключит вероятность ложных удалений. |
Отправлено: 19:50, 08-06-2021 | #7 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать -gt - greater than
-lt - less than В данном случае вы указали удалить всё, что раньше 26 апреля и то, что позже 14 апреля. То есть, вообще всё. Запускать скрипты, не вполне понимая, что они делают, это так себе идея. |
------- Отправлено: 21:18, 08-06-2021 | #8 |
Забанен Сообщения: 793
|
Цитата DJ Mogarych:
|
|
Отправлено: 23:03, 08-06-2021 | #9 |
Ветеран Сообщения: 992
|
Профиль | Сайт | Отправить PM | Цитировать Уж сколько раз твердили миру,
Что без WhatIf'a жизнь вредна; но только всё не впрок, И del в скрипте всегда отыщет уголок. (с) не И.А. Крылов |
Отправлено: 09:29, 09-06-2021 | #10 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Любой язык - [решено] Перенести все файлы из каталогов/подкаталогов в субпапку, а пустые папки удалить | Alexander_88 | Скриптовые языки администрирования Windows | 4 | 24-11-2015 20:07 | |
VBS/WSH/JS - Удаление файлов старше даты, доработка | techobsl | Скриптовые языки администрирования Windows | 0 | 14-09-2015 10:24 | |
PowerShell - Удаление файлов старше определенной даты | volk1234 | Скриптовые языки администрирования Windows | 15 | 23-11-2014 14:52 | |
CMD/BAT - удалить файлы по маске из каталога | Gablik | Скриптовые языки администрирования Windows | 15 | 04-09-2012 16:23 | |
CMD/BAT - файлы вида mmdd*.* - для каждой даты нужно создать каталог, скопировать, файлы | milito | Скриптовые языки администрирования Windows | 2 | 24-05-2009 23:32 |
|