Имя пользователя:
Пароль:
 | Правила  

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

Ответить
Настройки темы
CMD/BAT - Bat-файл на создание точной копии папки

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


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

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


Сам веб-программист. Батники со студенчества не писал, а тут на работе столкнулся с задачкой.
Есть две папки. Одна должна быть по содержанию точной копией второй.
Надо написать в батнике, что
- существующие в первой папке файлы надо просто скопировать во вторую,
- созданные в первой папке - скопировать во вторую,
- удаленные в первой - удалить во второй

Отправлено: 18:36, 06-04-2012

 

Пользователь


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

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


А как вы себе это представляете? Батник будет постоянно парсить каталог на предмет появления\удаления файлов или какой-то интервал времени между пунктами?
И пункты кстати, парадоксальные для одного сценария.
В общем, если не принципиально, то можно так, разделив на 3 батника:

Батник для первого пункта:
Цитата:
@echo off
set "first=Полный\путь\до\первого\каталога"
set "second=Полный\путь\до\второго\каталога"
xcopy "%first%" "%second%" /h /y
exit
Батник для второго пункта:
Цитата:
@echo off
set "first=Полный\путь\до\первого\каталога"
set "second=Полный\путь\до\второго\каталога"
for %%i in ("%first%\*.*") do if not exist "%third%\%%~nxi" copy "%%i" "%second%\%%~nxi"
exit
Батник для третьего пункта:
Цитата:
@echo off
set "first=Полный\путь\до\первого\каталога"
set "second=Полный\путь\до\второго\каталога"
for %%i in ("%second%\*.*") do if not exist "%first%\%%~nxi" del "%second%\%%~nxi" /f /q
exit
Как-то так...

Последний раз редактировалось DesmondTruman, 26-04-2012 в 13:59.


Отправлено: 02:59, 07-04-2012 | #2



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

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


Ветеран


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

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


Цитата XeaL:
Одна должна быть по содержанию точной копией второй. »
Автору, скорее, нужно банальное приложение для синхронизации.

Отправлено: 03:09, 07-04-2012 | #3


Пользователь


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

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


Можно было бы воспользоваться любой фри прогой для бакапа/синхронизации.

Чтоб не засорять форум спрошу в этой теме.
Программа Cisco VPN client, который отваливается от сервера раз в 20 мин. На сервере прова изменения невозможны, поэтому все настройки идут от меня. Перенастроил ini циски на автореконнект.
После подключения выскакивает баннер типа это защищенное подключение, нажмите confirm если вы уверенны. Ну что-то вроде этого.

Есть VBS script который этот confirm нажимает:
Код: Выделить весь код
Set objFSO = WScript.CreateObject("Scripting.FileSystemObject")
Set objShell = WScript.CreateObject("WScript.Shell")
constWaitTime = 100
VarCount = 0
Do
WScript.Sleep 1000
check = objShell.AppActivate("VPN Client")
If check = True Then 
objShell.SendKeys "{ENTER}"
Exit Do
End If
Loop
и есть бат, который постоянно поддерживает vbs живым. Т.е. тупо крутит его по кругу:
Код: Выделить весь код
@echo off
start  /wait "2000" confirm.vbs
@echo OK...
start.bat
- батник, опять таки тупо, зациклен сам на себя.

Но он вылетает через несколько часов. от 6 до 9, по разному.
Понимаю, что что-то не так наваял с батником, но вот что - не соображу... Прошу помощи.

Отправлено: 10:58, 26-04-2012 | #4


Аватара для ferget

Разный


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

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


создать задачу в планировщике заданий, без bat-файла?
Это сообщение посчитали полезным следующие участники:

Отправлено: 11:24, 26-04-2012 | #5


Пользователь


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

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


Цитата ferget:
создать задачу в планировщике заданий, без bat-файла? »
через стандартную утилиту виндовса vbs срабатывает только один раз и ни фига не замечает, что циска отвалилась. Нужно чтобы скрипт раз в 10-15 минут оглядывался. Все ли в порядке, или пора на Don't Suspend нажать, а затем на Confirm?

Отправлено: 12:03, 26-04-2012 | #6


Пользователь


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

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


Народ! хелп! Никаких идей? мне завтра уезжать и очень нужно, чтоб эта циска работала без контроля хотя бы дня три.

Отправлено: 13:04, 26-04-2012 | #7



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

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
2010 - Создание копии листа при совместном доступе AIA Microsoft Office (Word, Excel, Outlook и т.д.) 2 01-03-2012 15:34
Использование - Создание копии диска Windows Xp, создание копии для резерва withsouth Лицензирование продуктов Microsoft 15 31-10-2011 03:24
CMD/BAT - [решено] Создание и копирование папки с файлами скриптом bat через GPO 2poisonS Скриптовые языки администрирования Windows 7 27-04-2011 18:20
CMD/BAT - [решено] программа(.bat файл) которая случайным образом запускает .bat файлы из предложенных gangsterovich Скриптовые языки администрирования Windows 1 07-12-2010 06:45
Создание локальной копии страницы Coutty Вебмастеру 2 23-08-2006 11:33




 
Переход