![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Удаление старых файлов по дате (маске) |
|
CMD/BAT - [решено] Удаление старых файлов по дате (маске)
|
Новый участник Сообщения: 46 |
|
|
Отправлено: 09:35, 20-06-2014 |
Ветеран Сообщения: 2735
|
Профиль | Отправить PM | Цитировать cons74, как-то замудрёно получается. Непонятно: Затем подсчитывается число файлов в папке и удаляются старые кроме последних 40.
Зачем нужен этот подсчет? Правильно ли я понимаю: bitFinance_full*.bak - это основной бэкап, а всё остальное- дополнение к нему? Без основного бэкапа они не имеют смысла? Тогда идея простого решения - задаём, сколько фулл-бэкапов оставить, определяем имя последнего из оставляемых бэкапов, удаляем все, сделанное позже (сортировку по времени создания делает Dir) @echo off setlocal enableextensions enabledelayedexpansion rem ---папка для очистки; set sFolder=F:\Архив1С\БАЗЫ\БитФинанс\Backups rem iCount - число полных оставляемых бэкапов set /a "iCount=14" rem префикс полного бэкапа set "Pref=bitFinance_full_" rem расширение полного бэкапа set "Ext=.bak" Set /a N=%iCount%-1 Set File="" for /f "skip=%N% usebackq delims=" %%i in (`dir /b /a:-d /o:-d /t:w "%sFolder%\%Pref%*%Ext%"`) do ( Set File=%%i GoTo :Continue ) :Continue Set "L=0" for /f "usebackq delims=" %%i in (`dir /b /a:-d /o:-d /t:w "%sFolder%"`) do ( If !L!==1 del /f /q "%sFolder%\%%i" If "%%i"=="%File%" Set "L=1" ) |
------- Последний раз редактировалось megaloman, 20-06-2014 в 14:04. Отправлено: 10:31, 20-06-2014 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 46
|
Профиль | Отправить PM | Цитировать Цитата megaloman:
Цитата megaloman:
В общем, Вы все правильно поняли, большое спасибо. |
||
Отправлено: 08:00, 23-06-2014 | #3 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
CMD/BAT - [решено] Удаление файлов по дате | AlexPebody | Скриптовые языки администрирования Windows | 6 | 25-07-2013 16:33 | |
VBS/WSH/JS - [решено] удаление старых файлов по маске | support23 | Скриптовые языки администрирования Windows | 1 | 03-06-2013 08:41 | |
CMD/BAT - Удаление файлов по дате | interminable | Скриптовые языки администрирования Windows | 1 | 07-06-2012 15:48 | |
CMD/BAT - Удаление файлов по дате | ADGJMPTW | Скриптовые языки администрирования Windows | 1 | 10-10-2010 20:08 | |
CMD/BAT - Удаление старых файлов по имени файлов | Bиктор | Скриптовые языки администрирования Windows | 1 | 19-04-2010 03:37 |
|