@nikita1sm

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

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
Leningrad Media Москва
от 150 000 до 170 000 ₽
.White Code Санкт-Петербург
от 360 000 до 480 000 ₽