Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   помогите сделать батник копирования папки (http://forum.oszone.net/showthread.php?t=151869)

siz 30-09-2009 06:10 1230896

помогите сделать батник копирования папки
 
Нужно копировать папку с важными файлами из диска С:\ на D:\, потом после завершения копировал эту же папку с диска С:\ на комп локальной сети \\komp\. Нада сделать так чтобы с именем папки была дата. Заранее благодарен.

xctr 30-09-2009 10:58 1231055

xcopy "папка откуда копируйте" "папка куда копируйте" /y
sleep 5
xcopy "папка откуда копируйте" "путь к пк куда надо скопировать" /y

чтобы использовать sleep скачайте и скопируйте в C:\WINDOWS\system32

подробнее узнать о команде xcopy можно набрав в командной строке xcopy /?

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

avolkov2009 30-09-2009 17:04 1231309

Вложений: 1
Смотрите прикрепленный файл

Пример вызова:
Код:

extcopy.cmd c:\docs d:\docs \\server\archive\docs
В примере содержимое c:\docs будет скопировано в каталоги d:\docs-yyyymmdd и \\server\archive\docs-yyyymmdd

Удачи :)

megaloman 03-10-2009 19:54 1233814

Вот батник, который копирует указанную директорию (в переменной InDir) по двум указанным путям (в переменных Double1 и Double2), при этом добавляем впереди имени исходной директории дату. У меня в системе формат даты дд.мм.гггг. Я преобразую дату в строку ггггммдд чтобы легче сортировать при просмотре директории по имени.
Код:

Set InDir="C:\Мои сцены 3D MAX"

Set Double1="D:"
Set Double2="\\Всякие Копии" 

rem Set DT=%Date%
Set DT=%Date:~6,4%%Date:~3,2%%Date:~0,2%

Call :CopyDir %InDir% %Double1% %Double2%


GoTo End


:CopyDir

Set Otkuda="%~1\*.*"

Set Kuda1=%~1
Set Kuda1="%~2\%DT%_%Kuda1:~3,1000%\"

Set Kuda2=%~1
Set Kuda2="%~3\%DT%_%Kuda2:~3,1000%\"

xcopy %Otkuda% %Kuda1% /Y /S
xcopy %Otkuda% %Kuda2% /Y /S


:End


seman 08-10-2009 08:23 1237411

megaloman
а как еще в конце в RAR забить?

avolkov2009 08-10-2009 10:44 1237503

Цитата:

Цитата seman
а как еще в конце в RAR забить? »

В смысле? Нужно копии упаковывать в архив?

megaloman 08-10-2009 11:16 1237524

Не вижу смысла усложнять жизнь. Если надо упакованные копии, зачем копировать куда-то исходную директорию. Давайте сразу будем создавать где нужно архив. И быстрее и удобнее.
Код:

Set InDir="C:\Всякая дребедень"

Set Double1="D:\Всякая дребедень.Copy"
Set Double2="\\Всякие Копии\Всякая дребедень.Copy" 

rem Set DT=%Date%
Set DT=%Date:~6,4%%Date:~3,2%%Date:~0,2%

Call :CopyDir %InDir% %Double1% %Double2%


GoTo End


:CopyDir

Set Otkuda="%~1\*.*"


"%ProgramFiles%\Winrar\Winrar.exe" a -r "%~2\%DT%"  %Otkuda%
"%ProgramFiles%\Winrar\Winrar.exe" a -r "%~3\%DT%"  %Otkuda%


:End

В папках, созданных для копий, будет набор rar-файлов с именами, совпадающими с датой создания. Что еще нужно? Вместо второй упаковки исходной директории логично написать копирование первого созданного архива - быстрее получится.

copy "%~2\%DT%.rar" "%~3\"

Примечание - Я предположил, что WinRar установлен стандартным образом в систнмную папку \Program Files\Winrar\

avolkov2009 08-10-2009 11:45 1237539

Вложений: 1
Вот мой скрипт для ежедневного копирования.
Архивчики раскладываются в дерево каталогов вида ГГГГ\ММ\, использую консольный 7zip.


Время: 07:04.

Время: 07:04.
© OSzone.net 2001-