|
Удаление файла |
☑ |
0
Злобная Печенька
29.01.14
✎
12:42
|
Есть автоматическое архивирование бекапов, имя которых формируется по маске *_дата.gz. Есть задача - автоматически удалять бекапы, которым больше года. Батник написала, но он удаляет по дате создания файла. Как бы заставить батник проверять имя файла и по нему удалять? Самой в голову уже ничего не приходит((((
Код, который у меня
@echo off
forfiles /P "E:\aaa\bbb\" /M b*.gz.* /D -365 /C "cmd /c del /q @PATH"
|
|
1
Ёпрст
гуру
29.01.14
✎
12:50
|
а сами бекапы кто создает ?
|
|
2
Злобная Печенька
29.01.14
✎
12:51
|
(1) такой же батник. Это не 1С)))
|
|
3
КонецЦикла
29.01.14
✎
12:52
|
маска не катит?
|
|
4
КонецЦикла
29.01.14
✎
12:53
|
имя разве уникальное у каждого файла (не считая даты)?
|
|
5
Злобная Печенька
29.01.14
✎
12:55
|
(4) Уникальность как раз по дате определяется, которая зашивается в имя
|
|
6
КонецЦикла
29.01.14
✎
12:56
|
Имя* - вот так если... ?
|
|
7
Злобная Печенька
29.01.14
✎
12:56
|
Мне надо, чтобы он проверял в имени дату и если файл больше года назад создан, то удалял его.
Буду курить set DAT=%date:~-4%%date:~3,2%%date:~0,2%
|
|
8
Злобная Печенька
29.01.14
✎
14:08
|
Со скриптом более-менее разобралась. Вопрос- как в %date:~-4% указать не текущий год, а предыдущий (-1)?
|
|
9
Злобная Печенька
29.01.14
✎
14:51
|
Для любопытствующих - вопрос решился таким образом
set /a del_dat= %date:~-4% -1
set del_dat=%del_dat%%date:~3,2%%date:~0,2%
|
|
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан