Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - копирование папки с целевым именем "название+дата создания"

Ответить
Настройки темы
CMD/BAT - копирование папки с целевым именем "название+дата создания"

Новый участник


Сообщения: 31
Благодарности: 1

Профиль | Отправить PM | Цитировать


мне нужно скопировать папку с одного места в другую. но при создание папки , имя папки должно быть из названия+дата создания. Помогите !!!

Отправлено: 22:02, 06-08-2009

 

Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


Код: Выделить весь код
@echo off
SetLocal EnableExtensions

rem Копируемая папка без замыкающего слеша
set Src=C:\TEMP
rem Путь, где будет создана исходная папка с датой на конце
set Dst=D:\

call :Dst %Src%
set Dst=%Dst%-%date:~6,4%-%date:~3,2%-%date:~0,2%
md %Dst%
cd /d %Dst%
xcopy %Src%\*.* /e /c /h /y 
exit

:Dst
set Dst=%Dst%%~n1%
exit /B
Вообще в этой ветке можно наковырять несколько готовых примеров с похожими и даже более серьезными задачами
Это сообщение посчитали полезным следующие участники:

Отправлено: 22:55, 06-08-2009 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.


Старожил


Сообщения: 173
Благодарности: 4

Профиль | Отправить PM | Цитировать


NiOl ,
а можно по подробнее?
1. call :Dst %Src% - зачем мы вызваем эту строку
2. set Dst=%Dst%-%date:~6,4%-%date:~3,2%-%date:~0,2%
:~6 - на что это влияет?
4% - а это что?

За ранее благодарен.
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:19, 11-08-2009 | #3


Аватара для gora

Ушёл из жизни


Сообщения: 6021
Благодарности: 3491

Профиль | Отправить PM | Цитировать


tarasov.evgeny
1 Для выделения из переменной имени файла, правда там лишний знак процента в конце, должно быть так:
Код: Выделить весь код
set Dst=%Dst%%~n1
Подробнее: For /?
2 Выделение из переменной ее части. Подробнее: Set /?
Это сообщение посчитали полезным следующие участники:

Отправлено: 12:02, 11-08-2009 | #4


Старожил


Сообщения: 426
Благодарности: 108

Профиль | Отправить PM | Цитировать


Вот здесь ОЧЕНЬ хорошо написано: Урок bat-аники - советую почитать в любом случае - займет 2-3 часа.
1. call :Dst - вызов процедуры (подпрограммы) - на самом деле в данном случае "шаманство" - не получалось обработать дату.
2. Надо рассматривать всю часть между знаками процента: переменная вызывается так: %date% - для нашего региона получим строку вида "11.08.2009". Используемый вызов чуть сложнее: %date:~6,4%. Это значит, что из переменной date нужно выделить подстроку начиная с 6го символа (считаются от нуля) и длиной 4 символа. Получим год: "2009".

-------
Как сказало Дерево Дровосеку: "я - пень".

Это сообщение посчитали полезным следующие участники:

Отправлено: 12:06, 11-08-2009 | #5


Новый участник


Сообщения: 5
Благодарности: 1

Профиль | Отправить PM | Цитировать


С копированием понятно, а как заархивировать то что мы скопировали и записать все действия в лог?

поиск рулит, разобрался, может кому пригодится:

@echo off
set DD=%DATE:~0,2%
set MM=%DATE:~3,2%
set YY=%DATE:~6,4%
set TT=%Time:~0,2%_%Time:~3,2%
set dirfrom="C:\CanoScan"
set copyto="E:\Backup\%DATE%\%TT%\"
xcopy %dirfrom% %copyto% /s /e > C:\7z_copy.log
"C:\Program Files\7-Zip\7z" a "E:\Backup\%DATE%\%TT%.7z" "E:\Backup\%DATE%\%TT%\" -r > C:\7z_arh.log
rmdir "E:\Backup\%DATE%\%TT%" /s /q

Последний раз редактировалось Dr.Kifir4ik, 08-02-2011 в 17:41. Причина: сделал=)

Это сообщение посчитали полезным следующие участники:

Отправлено: 02:52, 08-02-2011 | #6



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - копирование папки с целевым именем "название+дата создания"

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Папка "Изображения" изменила значок и поменяла название на "Pictures" Kaban-keb Microsoft Windows Vista 3 22-01-2010 20:15
[решено] Где берется название папки "Мои Рисунки" во время установки? crashtuak Автоматическая установка Windows 2000/XP/2003 1 17-08-2009 13:03
Почему Windows при запуске файла с именем "start.exe" показывает кнопки как "Пуск"? Котяра Хочу все знать 9 22-06-2009 13:48
Резервное копирование папки "Мои документы" пользователей. MTA Microsoft Windows NT/2000/2003 8 09-08-2007 07:55




 
Переход