![]() |
копирование папки с целевым именем "название+дата создания"
мне нужно скопировать папку с одного места в другую. но при создание папки , имя папки должно быть из названия+дата создания. Помогите !!!
|
Код:
@echo off |
NiOl ,
а можно по подробнее? 1. call :Dst %Src% - зачем мы вызваем эту строку 2. set Dst=%Dst%-%date:~6,4%-%date:~3,2%-%date:~0,2% :~6 - на что это влияет? 4% - а это что? За ранее благодарен. |
tarasov.evgeny
1 Для выделения из переменной имени файла, правда там лишний знак процента в конце, должно быть так: Код:
set Dst=%Dst%%~n1 2 Выделение из переменной ее части. Подробнее: Set /? |
Вот здесь ОЧЕНЬ хорошо написано: Урок bat-аники - советую почитать в любом случае - займет 2-3 часа.
1. call :Dst - вызов процедуры (подпрограммы) - на самом деле в данном случае "шаманство" - не получалось обработать дату. 2. Надо рассматривать всю часть между знаками процента: переменная вызывается так: %date% - для нашего региона получим строку вида "11.08.2009". Используемый вызов чуть сложнее: %date:~6,4%. Это значит, что из переменной date нужно выделить подстроку начиная с 6го символа (считаются от нуля) и длиной 4 символа. Получим год: "2009". |
С копированием понятно, а как заархивировать то что мы скопировали и записать все действия в лог?
поиск рулит, разобрался, может кому пригодится: @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 |
Время: 06:39. |
Время: 06:39.
© OSzone.net 2001-