Показать полную графическую версию : Bat-файл на создание точной копии папки
Сам веб-программист. Батники со студенчества не писал, а тут на работе столкнулся с задачкой.
Есть две папки. Одна должна быть по содержанию точной копией второй.
Надо написать в батнике, что
- существующие в первой папке файлы надо просто скопировать во вторую,
- созданные в первой папке - скопировать во вторую,
- удаленные в первой - удалить во второй
DesmondTruman
07-04-2012, 02:59
А как вы себе это представляете? Батник будет постоянно парсить каталог на предмет появления\удаления файлов или какой-то интервал времени между пунктами?
И пункты кстати, парадоксальные для одного сценария.
В общем, если не принципиально, то можно так, разделив на 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
Как-то так...
Одна должна быть по содержанию точной копией второй. »
Автору, скорее, нужно банальное приложение для синхронизации.
Alex-in-Side
26-04-2012, 10:58
Можно было бы воспользоваться любой фри прогой для бакапа/синхронизации.
Чтоб не засорять форум спрошу в этой теме.
Программа 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, по разному.
Понимаю, что что-то не так наваял с батником, но вот что - не соображу... Прошу помощи.
создать задачу в планировщике заданий, без bat-файла?
Alex-in-Side
26-04-2012, 12:03
создать задачу в планировщике заданий, без bat-файла? »
через стандартную утилиту виндовса vbs срабатывает только один раз и ни фига не замечает, что циска отвалилась. Нужно чтобы скрипт раз в 10-15 минут оглядывался. Все ли в порядке, или пора на Don't Suspend нажать, а затем на Confirm?
Alex-in-Side
26-04-2012, 13:04
Народ! хелп! Никаких идей? мне завтра уезжать и очень нужно, чтоб эта циска работала без контроля хотя бы дня три.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.