@nikita1sm

Как дописать скрипт bat файла?

Помогите решить задачу.
Есть батник:
pushd "C:\Test" && (forfiles /d -1 /m *.css /c "cmd /c del /f /q @file")
popd

Он удаляет все файлы расширения css старше 1 дня.
Как его доделать так, чтобы он сохранял последние 2 копии файла.
Проще говоря, чтобы всегда оставались 2 последние версии файла.

А в моем случае так получается, что если в течение нескольких дней новых файлов не появляется, то удаляются все.
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
@res2001
Developer, ex-admin
Ясно, что forfiles для ваших целей не подойдет.
Можно воспользоваться возможностью команды dir сортировать файлы при выводе. Пример можете посмотреть в вопросе, который был тут на днях:
Вам нужно делать обход по оригинальным файлам (не копиям), далее с помощью вышеупомянутого dir получать список "оригинальный файл + его копии", отсортированный по убыванию даты изменения, оставлять первые 3 файла, остальные удалять.

Если хотите подробностей, то опишите как и когда у вас создаются копии файлов и как формируются имена копий. Где лежат копии и оригинальные файлы?
И вообще хотелось бы понять, что вы пытаетесь сделать этим скриптом. Видимо это что-то типа системы циклического бэкапа исходных текстов с сохранением нескольких последних копий. Почему не использовать для этого git?
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы