Войти

Показать полную графическую версию : [решено] резервное копирование с помощью bat-файла


vagner_HATE
16-01-2006, 01:38
Здравствуйте, вопрос у меня такой - хочу создать bat-файл, чтобы при его выполнении(помещу в назначенные задания) информация из одной папки(основной) копировалась в резервную..например из c:\DB в с:\DBReserv
Вопрос только в том - как сделать, чтобы каждый раз копирование происходило в новую папку(допустим один день - c:\DBReserv1, второй - c:\DBReserv2, третий - c:\DBReserv3 и тд..)
возможно ли это сделать в командном фале?

Tigr
16-01-2006, 03:04
Можно создавать не папку а WinRAR-архив с датой создания в имени. Это можно сделать с помощью консольной версии rar.exe (см. rar.txt). Если будут вопросы - могу выложить пример такой команды

vagner_HATE
16-01-2006, 09:16
Tigr, спасибо! Попробую этот вариант..но в рамках самообразования, а все таки можно ли как то сделать это так как хотел я вначале?

rivera
16-01-2006, 09:37
vagner_HATE
будет трудновато, но наверное возможно

еще как вариант могу предложить программу SyncToy v1.0 for Windows XP
у майкрософта на сайте можно взять!

sushnyak
20-03-2009, 18:30
могу предложить такой вариант,
всякий раз копирование будет производиться в папку обозначеную Датой выполнения задания

@echo on
date /t>%temp%\d.temp
set /p folder=<%temp%\d.temp
md d:\DBReserv\%folder%
XCOPY /S /E /Y c:\DB d:\DBReserv\%folder%
del /f /q %temp%\d.temp

amel27
21-03-2009, 06:22
могу предложить такой вариант »можно покороче:
Set SRC=C:\DB
Set DST=D:\DBReserv

If Not Exist "%DST%\%date%" MD "%DST%\%date%"
XCOPY /S /D /Y "%SRC%\*" "%DST%\%date%\"

Butunin Klim
03-04-2009, 12:03
amel27,
Как в этом крипте отлавливать ошибки например файл не удалось скопировать по тем или иным причинам... как отловить эту ошибку?

Maza Faka
04-04-2009, 08:26
Как в этом крипте отлавливать ошибки например файл не удалось скопировать по тем или иным причинам... как отловить эту ошибку? »
Проверять возвращаемый код ошибки, системную переменную %ERRORLEVEL%

If "%ERRORLEVEL%"=="0" Echo Success

amel27
06-04-2009, 05:17
Как в этом крипте отлавливать ошибки »
общий порядок отладки для всех батников:

1. заменяем по тексту "@Echo Off"на "@Echo On"
2. запускаем батник с полным логированием в файл: "script.cmd 1>script.log 2>&1"
3. анализируем или выкладываем лог "script.log"

З.Ы. хорошо-бы это как-то в шапку или что-то типа "правил", в надцатый раз одно и то же

AlexVong
09-12-2010, 20:42
Подскажите пожалуйста с помощью батника делаю резервное копирование базы (.mdb)

@echo off
COLOR 9F
set now=%TIME:~0,-3%
set now=%now::=.%
set now=%now: =0%
set now=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%_%now%
"C:\Program Files\7-Zip\7z.exe" a d:\WORK\baza_dbf_%now%.zip d:\Prog\baza_dbf.mdb
pause

При работе батника выводится сообщение
7-Zip 4.65 Copyright (c) 1999-2009 Igor Pavlov 2009-02-03
Scanning


.zip: WARNING: Не удается найти указанный файл.



Creating archive d:\WORK\baza_dbf_2010.12.09_19.25.07

Compressing main_dbf.mdb 3%
Архивация происходит, но почему выводится сообщение ?
.zip: WARNING: Не удается найти указанный файл.

Iska
09-12-2010, 23:27
"C:\Program Files\7-Zip\7z.exe" a "d:\WORK\baza_dbf_%now%.zip" "d:\Prog\baza_dbf.mdb"

Creating archive d:\WORK\baza_dbf_2010.12.09_23.23.46 .zip

Compressing baza_dbf.mdb

Everything is Ok
См. нонешнюю же тему: Почему не работает команда для разархивирования? (http://forum.oszone.net/thread-193474.html)

Суть же Вашей проблемы в том, что у Вас в:
set now=%DATE:~-4%.%DATE:~3,2%.%DATE:~0,2%_%now%
в конце строки находится пробел. Для «SET» это значимый символ.

cibin
23-07-2011, 19:50
Можно создавать не папку а WinRAR-архив с датой создания в имени. Это можно сделать с помощью консольной версии rar.exe (см. rar.txt). Если будут вопросы - могу выложить пример такой команды »


Можете мне выслать!
Нужен батник который будет копировать папку целиком с архивацией с одного диска на другой так что бы дата задавалась типа 23-07-2011.
Я как на просторах инета нашел такой бат, но запутался откуда куда резерв делает!




© OSzone.net 2001-2012