Форум программистов, компьютерный форум, киберфорум
Наши страницы
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.50/8: Рейтинг темы: голосов - 8, средняя оценка - 4.50
hunk3r
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 11
1

Удаление старых архивов без привязки к системному времени

28.04.2015, 21:16. Просмотров 1629. Ответов 2
Метки нет (Все метки)

Доброго времени суток. Прошу помощи с решением такой задачи:
Нужна архивация средствами 7z и условием - оставлять в каталоге архивации только 30 последних архивов.
Думаю, что нужно создавать каждодневный архив с последовательностью имён (1..2...3..etc), но как это сделать и проверить потом какие старые, а какие из них новые - без понятия. Без привязки к сист. времени, т.к. оно может измениться в любую сторону.

Добавлено через 6 часов 52 минуты
Windows Batch file
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
@Echo Off 
 
echo %date% %time% ***Start*** 
 
SetLocal EnableDelayedExpansion 
 
Set $SRC=list_add.txt 
 
Set $EXC=list_excl.txt 
 
Set $DIR=C:\backtest 
 
Set $PSW=1 
 
Set $COMPR=5 
 
Set $COPIES=7 
 
C:\"Program Files"\7-Zip\7z.exe a -t7z "%$DIR%\file%DATE:~-4%-%DATE:~3,2%-%DATE:~0,2%_%TIME:~0,2%-%TIME:~3,2%-%TIME:~6,2%.7z" @%$SRC% -scsWIN -p%$PSW% -mx=%$COMPR% -ssw -xr@%$EXC% >> log_7z.log 
 
For /F "Delims=" %%i In ('DIR /B/O:-N %$DIR%\file????-??-??_??-??-??.7z') Do ( 
 
Set /A $COPIES-=1 
 
If !$COPIES! LSS 0 DEL "%$DIR%\%%i" 
 
) 
 
echo %date% %time% ***End***
Как сделать, чтобы при откате даты скрипт всё равно писал архивы в папку и удалял ранее созданные?
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
28.04.2015, 21:16
Ответы с готовыми решениями:

Архивация заданной директории и удаление старых архивов
Есть директория, по запросу bat файла запаковывает в архив с таким же именем в конце, и 4 цифры...

Добавление одной минуты к системному времени
Добрый день, можете подсказать как можно организовать батник, который будет добавлять 1 минуту. В...

Запуск формы по системному времени
Доброго утра всем!!! :) подскажите, как запустить форму по системному времени допустим в 10:30 и...

Как привязаться к системному времени?
Как привязаться к системному времени в Windows Forms? Смысл в том, что есть приложение-планировщик...

Фильтрация с привязкой к системному времени
Добрый день! Необходимо сделать запрос, который бы автоматически брал системную дату и делал на...

2
ComSpec
3416 / 1959 / 629
Регистрация: 26.02.2014
Сообщений: 1,457
29.04.2015, 12:11 2
Лучший ответ Сообщение было отмечено hunk3r как решение

Решение

Цитата Сообщение от hunk3r Посмотреть сообщение
Нужна архивация средствами 7z и условием - оставлять в каталоге архивации только 30 последних архивов.
Думаю, что нужно создавать каждодневный архив с последовательностью имён (1..2...3..etc), но как это сделать и проверить потом какие старые, а какие из них новые - без понятия. Без привязки к сист. времени, т.к. оно может измениться в любую сторону.

Решение с нумерацией архивов есть: "Архивирование файла, чтобы оставалось в этом каталоге 10 последних архивов", только "подгоните" код под Ваши данные.
2
hunk3r
0 / 0 / 0
Регистрация: 28.04.2015
Сообщений: 11
29.04.2015, 15:41  [ТС] 3
Огромное спасибо! Подошло идеально.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
29.04.2015, 15:41

Выделение ячейки цветом по системному времени в Excel
Подскажите пожалуйста, как мне задать зависимость цвета ячейки от времени? Вот скажем есть список...

Удаление истории архивов
Всем привет! Прошу сильно не ругать - я не совсем сисадмин, но по воле случая вынужден заниматься...

Проверка целостности архивов и удаление битых
Нужен bat файл который проверяет наличие битых и целых архивов в папке, если архив битый, то...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.