#include <Array.au3> #include <ButtonConstants.au3> #include <Date.au3> #include <File.au3> #include <FileConstants.au3> #include <GUIConstantsEx.au3> #include <MsgBoxConstants.au3> #include <WindowsConstants.au3> #NoTrayIcon $Form2 = GUICreate("Profiles Backup", 268, 60, 340, 265) $Button1 = GUICtrlCreateButton("&Сохранить", 10, 30, 75, 25) $Button2 = GUICtrlCreateButton("&Восстановить", 90, 30, 77, 25) $Button3 = GUICtrlCreateButton("&Удалить копию", 170, 30, 88, 25) $hCombo = GUICtrlCreateCombo("", 10, 5, 248, 20) Local $iCon = @ScriptDir & "\icon.ico" GUISetIcon($iCon) GUISetState(@SW_SHOW) _Upd() Func _Upd();Cчитывает список копий While 1 Global $aFileList = _FileListToArray(@ScriptDir & "\Backups\", "*", 2) Global $BckpFolder = "" $sList = "" For $i = 1 To UBound($aFileList) - 1 $sList &= "|" & $aFileList[$i] Next GUICtrlSetData($hCombo, $sList) ExitLoop Wend EndFunc Mainscript() Func Mainscript() While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Case $Button1;Резервировать $BckpFolder = GUICtrlRead($hCombo);Считать значение из поля ввода If Not $BckpFolder Then MsgBox($MB_ICONERROR, "Пусто", "Введите название для копии!") Mainscript();Возврат к началу EndIf ;Убить процессы браузеров While ProcessExists("chrome.exe") ProcessClose ( "chrome.exe" ) WEnd While ProcessExists("firefox.exe") ProcessClose ( "firefox.exe" ) WEnd While ProcessExists("opera.exe") ProcessClose ( "opera.exe" ) WEnd While ProcessExists("vivaldi.exe") ProcessClose ( "vivaldi.exe" ) WEnd While ProcessExists("browser.exe") ProcessClose ( "browser.exe" ) WEnd Sleep(4000) ;Копировать файлы DirCopy(@AppDataDir & "\..\Local\Google\Chrome\User Data\", @ScriptDir & "\Backups\" & $BckpFolder & "\Local\Google\Chrome\User Data\", $FC_OVERWRITE) DirCopy(@AppDataDir & "\..\Local\Mozilla\Firefox\Profiles\", @ScriptDir & "\Backups\" & $BckpFolder & "\Local\Mozilla\Firefox\Profiles\", $FC_OVERWRITE) DirCopy(@AppDataDir & "\..\Local\Opera Software\", @ScriptDir & "\Backups\" & $BckpFolder & "\Local\Opera Software\", $FC_OVERWRITE) DirCopy(@AppDataDir & "\..\Local\Vivaldi\User Data\", @ScriptDir & "\Backups\" & $BckpFolder & "\Local\Vivaldi\User Data\", $FC_OVERWRITE) DirCopy(@AppDataDir & "\..\Local\Yandex\", @ScriptDir & "\Backups\" & $BckpFolder & "\Local\Yandex\", $FC_OVERWRITE) DirCopy(@AppDataDir & "\Mozilla\", @ScriptDir & "\Backups\" & $BckpFolder & "\Roaming\Mozilla\", $FC_OVERWRITE) DirCopy(@AppDataDir & "\Opera Software\", @ScriptDir & "\Backups\" & $BckpFolder & "\Roaming\Opera Software\", $FC_OVERWRITE) DirCopy(@AppDataDir & "\Yandex\YandexBrowser\User Data\", @ScriptDir & "\Backups\" & $BckpFolder & "\Roaming\Yandex\YandexBrowser\User Data\", $FC_OVERWRITE) MsgBox($MB_TASKMODAL, "Готово", "Копирование завершено") _Upd();Обновить список копий ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Case $Button2;Восстановить If Not $BckpFolder Then MsgBox($MB_ICONERROR, "Пусто", "Сперва выберите копию") Mainscript();Возврат к началу EndIf ;Убить процессы браузеров While ProcessExists("chrome.exe") ProcessClose ( "chrome.exe" ) WEnd While ProcessExists("firefox.exe") ProcessClose ( "firefox.exe" ) WEnd While ProcessExists("opera.exe") ProcessClose ( "opera.exe" ) WEnd While ProcessExists("vivaldi.exe") ProcessClose ( "vivaldi.exe" ) WEnd While ProcessExists("browser.exe") ProcessClose ( "browser.exe" ) WEnd Sleep(4000) ;Копировать файлы DirCopy(@ScriptDir & "\Backups\" & $BckpFolder & "\Local\Google\Chrome\User Data\", @AppDataDir & "\..\Local\Google\Chrome\User Data\", $FC_OVERWRITE) DirCopy(@ScriptDir & "\Backups\" & $BckpFolder & "\Local\Mozilla\Firefox\Profiles\", @AppDataDir & "\..\Local\Mozilla\Firefox\Profiles\", $FC_OVERWRITE) DirCopy(@ScriptDir & "\Backups\" & $BckpFolder & "\Local\Opera Software\", @AppDataDir & "\..\Local\Opera Software\", $FC_OVERWRITE) DirCopy(@ScriptDir & "\Backups\" & $BckpFolder & "\Local\Vivaldi\User Data\", @AppDataDir & "\..\Local\Vivaldi\User Data\", $FC_OVERWRITE) DirCopy(@ScriptDir & "\Backups\" & $BckpFolder & "\Local\Yandex\", @AppDataDir & "\..\Local\Yandex\", $FC_OVERWRITE) DirCopy(@ScriptDir & "\Backups\" & $BckpFolder & "\Roaming\Mozilla\", @AppDataDir & "\Mozilla\", $FC_OVERWRITE) DirCopy(@ScriptDir & "\Backups\" & $BckpFolder & "\Roaming\Opera Software\", @AppDataDir & "\Opera Software\", $FC_OVERWRITE) DirCopy(@ScriptDir & "\Backups\" & $BckpFolder & "\Roaming\Yandex\YandexBrowser\User Data\", @AppDataDir & "\Yandex\YandexBrowser\User Data\", $FC_OVERWRITE) MsgBox($MB_TASKMODAL, "Готово", "Восстановление завершено") _Upd();Обновить список копий ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; Case $Button3;Удалить $BckpFolder = GUICtrlRead($hCombo) If Not $BckpFolder Then MsgBox($MB_ICONERROR, "Пусто", "Сперва выберите копию!") Mainscript();Возврат к началу EndIf DirRemove(@ScriptDir & "\" & "\Backups\" & $BckpFolder, 1) _Upd();Обновить список копий EndSwitch WEnd EndFunc |