Статистика |
Онлайн всего: 1 Гостей: 1 Пользователей: 0 |
|
Скрипт бэкапа базы 1С
ArcFolder="D:\Arhiv\Backup" Interval=150 dn=Weekday(Date(),vbMonday)
Set WshShell = Wscript.CreateObject("Wscript.Shell") Set fso = CreateObject("Scripting.FileSystemObject")
FName = WScript.Arguments(0) Path=WshShell.ExpandEnvironmentStrings("%MyBases%")+"\"+FName FNameArc=ArcFolder+"\"+FName+".zip" FNameArcD=ArcFolder+"\D"+Trim(CStr(dn))+"\"+FName+".zip"
ScriptName=WScript.ScriptFullName
To1C=Chr(34)+WshShell.ExpandEnvironmentStrings("%My1C%")+Chr(34) MyName=WshShell.ExpandEnvironmentStrings("%"+WScript.Arguments(1)+"%") MyPass=WshShell.ExpandEnvironmentStrings("%"+WScript.Arguments(2)+"%")
FNameIni=FName+".ini" If (fso.FileExists(FNameIni))=False Then Set IniFile = fso.CreateTextFile(FNameIni, True) IniFile.WriteLine("[General]") IniFile.WriteLine("Quit=1") IniFile.WriteLine("UnloadData=1") IniFile.WriteLine("[UnloadData]") IniFile.WriteLine("UnloadToFile="+FNameArc) IniFile.WriteLine("IncludeUserDef=1") IniFile.Close End If FullIniName = Left(ScriptName,InStrRev(ScriptName,"\"))+FNameIni
answ=true If (fso.FileExists(FNameArc)) Then Set f = fso.GetFile(FNameArc) diff = DateDiff("n",f.DateLastModified,Now) If diff<=Interval Then Reply = WshShell.Popup("З часу останньої архівації у файл "&FNameArc&" пройшло "&diff&" хв."&vbCrLf&"Архівувати ще раз?",_ 10,"Архівація",vbYesNo+vbInformation+vbDefaultButton2) If Reply<>vbYes Then answ=false End If End If End If If answ=true Then If (fso.FileExists(FNameArc)) Then f.Delete End If Pth=To1C+" config /d "+Path+"\ /N"+MyName+" /P"+MyPass+" /@"+FullIniName cd=115 cd=WshShell.Run(Pth,,True) While cd>0 'Почекаємо закінчення вигрузки Wend If (fso.FileExists(FNameArc)) Then Set f = fso.GetFile(FNameArc) f.Copy(FNameArcD) Else MsgBox("Вивантаження не відбулося! Можливо хтось із користувачів знаходиться в базі") End If End If Set f = fso.GetFile(FullIniName) f.Delete |
Категория: Скрипты | Добавил: IgorD (20.01.2010)
|
Просмотров: 2214
| Рейтинг: 0.0/0 |
|
|
|