|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - Удалить все файлы кроме последнего за каждый месяц |
|
CMD/BAT - Удалить все файлы кроме последнего за каждый месяц
|
Новый участник Сообщения: 7 |
Доброго времени суток!
Нужно удалить все файлы кроме последнего за каждый месяц. Есть список файлов вида file_2021_10_20.zip file_2021_10_21.zip file_2021_10_22.zip file_2021_10_23.zip file_2021_10_24.zip file_2021_10_25.zip file_2021_10_26.zip file_2021_10_27.zip file_2021_10_28.zip file_2021_10_29.zip file_2021_10_30.zip file_2021_10_31.zip file_2021_11_01.zip file_2021_11_02.zip file_2021_11_03.zip file_2021_11_04.zip file_2021_11_05.zip file_2021_11_06.zip file_2021_11_07.zip file_2021_11_08.zip file_2021_11_09.zip file_2021_11_10.zip file_2021_11_11.zip file_2021_11_12.zip file_2021_11_13.zip file_2021_11_14.zip file_2021_11_15.zip file_2021_11_16.zip file_2021_11_17.zip file_2021_11_18.zip file_2021_11_19.zip file_2021_11_20.zip file_2021_11_21.zip file_2021_11_22.zip file_2021_11_23.zip file_2021_11_24.zip file_2021_11_25.zip file_2021_11_26.zip file_2021_11_27.zip file_2021_11_28.zip file_2021_11_29.zip file_2021_11_30.zip file_2021_12_01.zip file_2021_12_02.zip file_2021_12_03.zip file_2021_12_04.zip file_2021_12_05.zip file_2021_12_06.zip ориентируясь на дату |
|
Отправлено: 13:06, 14-01-2022 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Powershell:
dir 'D:\temp\del\*.zip' |group {$_ -replace '.*(\d{4}_\d{2}).*','$1'} |sort name |select -SkipLast 1 |% {$_.group |sort name |select -SkipLast 1 |del} |
------- Последний раз редактировалось DJ Mogarych, 14-01-2022 в 14:30. Причина: чтобы не затирало последний месяц Отправлено: 13:55, 14-01-2022 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 7
|
Профиль | Отправить PM | Цитировать |
Отправлено: 15:52, 14-01-2022 | #3 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать Если группировать только по месяцу, а файлы будут за несколько лет, то останется только один файл за последний год этого месяца.
К тому же, вы убрали фильтр последней группы - это приведёт к тому, что будут затираться и файлы текущего месяца. Что касается сортировки по времени - это можно, но в именах файлов уже есть дата, дело вкуса. |
------- Отправлено: 16:14, 14-01-2022 | #4 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать CMD для 2000 ... 2050 года
@Echo Off cls Set "BoxIn=Z:\Box_In" Set "Prefix=Имя файла эх ма тру ля ля_" Set "Ext=.Zip" FOR /L %%y IN (2000,1,2050) DO If Exist "%BoxIn%\%Prefix%%%y_*%Ext%" ( For %%m In (01 02 03 04 05 06 07 08 09 10 11 12) Do ( FOR /F "usebackq skip=1 delims=" %%f In (`2^>nul Call Dir /B /A:-D /O:-N "%BoxIn%\%Prefix%%%y_%%m_??%Ext%"`) DO ( Del "%BoxIn%\%%f" ) ) ) pause Exit /B |
|
------- Последний раз редактировалось megaloman, 16-01-2022 в 17:17. Отправлено: 17:10, 16-01-2022 | #5 |
Ветеран Сообщения: 717
|
Профиль | Отправить PM | Цитировать Как подкорректировать скрипт, чтобы из такого списка
2022-11-26-04-14_11.02.089.ZBF 2022-11-27-04-14_11.02.089.ZBF 2022-11-28-04-14_11.02.089.ZBF .... оставался всегда только один самый новый? |
Отправлено: 02:49, 29-11-2022 | #6 |
fascinating rhythm Сообщения: 6626
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 10:16, 29-11-2022 | #7 |
Ветеран Сообщения: 2728
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 12:30, 29-11-2022 | #8 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удалить все файлы кроме | kas1m | Скриптовые языки администрирования Windows | 21 | 06-09-2024 19:42 | |
CMD/BAT - Удалить все файлы в папке кроме последнего (новейшего по дате) | myp3ujlka | Скриптовые языки администрирования Windows | 4 | 03-12-2021 02:32 | |
CMD/BAT - Удалить все папки и файлы кроме определенных 2 папок и 2 файлов | komilfo | Скриптовые языки администрирования Windows | 2 | 18-01-2018 09:08 | |
CMD/BAT - Удалить из папки все файлы с расширением .txt, кроме одного | kardinalmax | Скриптовые языки администрирования Windows | 13 | 22-10-2015 12:21 | |
CMD/BAT - [решено] Удалить все файлы из папки кроме нужных | Sirimika | Скриптовые языки администрирования Windows | 16 | 12-11-2010 10:33 |
|