|  | Удаление файла | ☑ | 
    
        | 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%
 |  | 
        Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан