Я пытаюсь написать сценарий Windows (для Win7/Server 2008), который удаляет файлы старше определенной даты, сохраняя последний файл, независимо от того, возраст.Windows пакетный файл для удаления файлов из каталогов, но сохранить последний файл в каждом каталоге
Perforce хранит двоичные файлы с версией на сервере или прокси, инкапсулируя его в каталог.
Например, если я хранил image.jpg на сервере и обновляю его дважды, он сохранит его в каталоге, например «image.jpg, d», с пронумерованными файлами gzip внутри.
например.
c:\depot\1\image.jpg,d\123.gz | last modified: 9/1/2013
c:\depot\1\image.jpg,d\124.gz | last modified: 10/1/2013
c:\depot\1\image.jpg,d\125.gz | last modified: 11/1/2013
c:\depot\2\image.jpg,d\123.gz | last modified: 9/1/2013
c:\depot\2\image.jpg,d\124.gz | last modified: 10/1/2013
c:\depot\2\image.jpg,d\125.gz | last modified: 11/1/2013
В этом случае, если я побежал стандартный сценарий удаления Forfiles для файлов старше 14 дней, все шесть файлов будут удалены. Я ищу решение, в котором в этом сценарии удаляются 123.gz и 124.gz, но 125.gz остается в обоих каталогах один.
Если есть один файл в папку, как это:
c:\depot\1\hw\images\helloworld.jpg,d\122.gz | last modified 1/1/2013
Это оставит файл в одиночку. Если их несколько, он оставит последний.
Это решение аналогично, но безуспешно с Win7: How to use forfiles (or similar) to delete files older than n days, but always leaving most recent n