В папку система периодически копирует файл одного и того же названия и при этом прежний файл с тем же названием затирается.
Какой командой, или программой можно сохранить определённое число последних версий файла.
тэги:
bat,
батник,
копирование,
программирование,
файл
категория:
образование
ответить
комментировать
в избранное
бонус
1 ответ:
старые выше
новые выше
по рейтингу
1
vdtest
[10.4K]
19 часов назад
Чтобы сохранять последние версии файла надо автоматически переименовывать файлы с указанием номера версии в названии; команды переименования можно записать в bat файл, который должен вызываться либо после каждого поступления файла, либо по расписанию, из планировщика заданий.
- В приведенном bat файле номер версии добавляется в скобках к названию файла например test(0).txt, test(1).txt, test(2).txt и т. д.
- 0- самая свежая версия, после поступления нового файла она изменит номер на 1.
- Файлы только переименовываюся, что значительно ускоряет процесс сохранения версий для объёмных файлов.
- bat файл вызывается с параметром имя файла.
- в переменной m указан наибольший номер версии.
Содержание bat файла для сохранения указанного количества версий:
@echo off
rem m максимальный номер версии файла
set m=5
rem ПЕРВЫЙ ПАРАМЕТР ИМЯ ФАЙЛА
if "%1" == "" echo Укажите файл & pause
if "%1" == "" goto :fin
if not exist "%1" echo НЕТ ФАЙЛА %1 & pause
if not exist "%1" goto :fin
:BG
if exist "%~dpn1(%m%)%~x1" del "%~dpn1(%m%)%~x1"
set /A n=%m%-1
if exist "%~dpn1(%n%)%~x1" ren "%~dpn1(%n%)%~x1" "%~n1(%m%)%~x1"
set /A m=%m%-1
if %m% GEQ 1 goto :BG
ren "%1" "%~n1(0)%~x1"
:fin
комментировать
в избранное
ссылка
отблагодарить