Как стать автором
Обновить

Добавляем в имя резервной копии дату ее создания

Предлагаю свой вариант маленькой примочки, которая добавляет в имя файла дату его создания.
Для чего я ее сделал? В процессе разработки чего-либо я делаю резервную копию, отправляя в архив папку с проектом целиком: щелкаем правой кнопкой мыши по папке или файлу проекта и выбираем в контекстном меню «Отправить» в «Сжатая zip папка». Получаем архивированную копию и переносим ее в папку с архивами. Хорошо, но завтра, повторяя те же действия, я получу архивный файл с таким же именем, как и сегодня. Да, при переносе в папку с архивом, новый файл заменит старый. Но иногда требуется отследить изменения, происходившее в проекте (ну не все же среды разработки имеют функцию Истории). А, может, на каком-то этапе эволюция проекта завела нас не в ту сторону и надо откатиться? В таком случае нам надо накапливать свои резервные копии. Я это делаю, добавляя в имя резервного файла дату его создания. Автоматизируем процесс, встроив такую функцию в контекстное меню файлового менеджера.

Создадим в текстовом редакторе файл с именем retime.bat со следующим содержанием и разместим его, например, в корне диска С:

echo off
set file=%1
If Exist %file% For %%i In (%file%) Do SET psth=%%~pi
If Exist %file% For %%i In (%file%) Do SET TIMESTAMP=%%~ti
If Exist %file% For %%i In (%file%) Do SET nn=%%~ni
If Exist %file% For %%i In (%file%) Do SET xx=%%~xi

setlocal enabledelayedexpansion
for /f «tokens=1 delims='.'» %%i in ('echo %TIMESTAMP%') do set dd=%%i
for /f «tokens=2 delims='.'» %%i in ('echo %TIMESTAMP%') do set mm=%%i
for /f «tokens=3 delims='.'» %%i in ('echo %TIMESTAMP%') do set yy=%%i
for /f «tokens=1» %%i in ('echo %yy%') do set yy=%%i
rename %file% "%nn%_%yy%%mm%%dd%%xx%"


В двух словах: разбираем информацию о файле на имя (nn), расширение (xx) и время его создания (TIMESTAMP); парсим время создания, выделяя год (yy), месяц (mm) и день (dd) и собираем новое название. Например, у нас был project1.zip, созданный 14 марта 2014 года, после переименования получаем project1_20140314.zip. Дата сделана «с заду наперед» для правильной сортировки по имени файла – файлы выстроятся в соответствии с датой создания. Хотите по-другому – измените строку, начинающуюся с rename.

Теперь сделаем запуск нашего bat файла из контекстного меню. Для этого опять же в текстовом редакторе создаем файл reg_retime.reg с таким содержимым:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Retime\Command]
@="\«C:\\retime.bat\» \"%1\""


Обратите внимание – Retime – так будет выглядеть команда в контекстном меню. Так же мы указываем путь к нашему bat файлу. Щелкаем по созданному файлу и соглашаемся добавить данные в реестр. Готово!

Проверяем: берем файл — подопытного кролика, щелкаем по нему правой кнопкой мыши и выбираем в открывшемся контекстном меню пункт Retime. К имени подопытного кролика добавится дата его создания.
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.