Alexander A Manaeff -

 
 

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

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

Модератор: UncleFather

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

Сообщение UncleFather » 28 июл 2014 17:47, Пн

Задача:

Имеется 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»

После чего выполняем непосредственно копирование. При этом, если в папке-приемнике есть файл с именем таким же как в папке-источнике, то добавляем к имени копируемого файла штамп времени. А если такого файла нет, то просто копируем файл.
Аватара пользователя
UncleFather
Site Admin
 
Сообщения: 1325
Зарегистрирован: 17 авг 2004 16:20, Вт

Вернуться в Администрирование Windows Server

Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 1

Alexander A Manaeff -
@Mail.ru .