Командный файл. Добавляем штамп времени при копировании

Все об администрировании Windows NT/2000/2003/2008/2012 Server (в т.ч. R2) серверов. Групповые политики, домены, безопасность и пр. То, чего не найдешь в бескрайних просторах Интернета. Решения тех проблем, которые не решаются типовыми ответами, которые можно получить в техподдержке Майкрософта - а именно: переустановить продукт или купить какой-ть другой лицензионный диск.


Модератор: UncleFather

Аватара пользователя
UncleFather
Site Admin
Сообщения: 1505
Зарегистрирован: 17 авг 2004 16:20, Вт
Контактная информация:

Командный файл. Добавляем штамп времени при копировании

Сообщение UncleFather »

Задача:

Имеется Microsoft Windows Serverf 2003 R2 Rus SP2. Необходимо с помощью командного файла (сценария) скопировать файлы из одной папки в другую. При этом, если имена файлов совпадают, то нужно добавить к имени файла штамп времени.

Решение:

Как ни странно, в Windows нет команды, которая бы могла переименовывать файлы при совпадении имен. Встроенными командами мы можем лишь либо перезаписывать совпадающий файл, либо не перезаписывать.

Поэтому, родился вот такой вот командный файл:

Код: Выделить всё

@Echo Off
SET VTIME=%date%-%time:~0,-3%
SET VTIME=%VTIME::=.%
SET Source=\\Server\Share\Folder1\Folder2\
SET Destination=D:\Folder3\Folder4\Folder5\Folder6\

FOR %%f IN ("%Source%*.*") DO (IF EXIST "%Destination%%%~nf%%~xf" (COPY /Y "%Source%%%~nf%%~xf" "%Destination%%%~nf(%VTIME%)%%~xf") ELSE (COPY /Y "%Source%%%~nf%%~xf" "%Destination%%%~nf%%~xf"))

Сначала получаем штамп Даты/Времени в удобоваримом формате (см. Создание поколений архивов по датам и времени).

Далее задаем папку - источник «Source» и папку - приемник «Destination»

После чего выполняем непосредственно копирование. При этом, если в папке-приемнике есть файл с именем таким же как в папке-источнике, то добавляем к имени копируемого файла штамп времени. А если такого файла нет, то просто копируем файл.


Alexander A. Manaeff©

Понравилась статья? Будем крайне признательны за репосты в соцсетях! Материально поддержать проект можно здесь

Мои странички:
ВКонтакте
Одноклассники
Youtube
Facebook
Instagram

Изображение
Изображение
Изображение
Изображение