Страницы: 1
Кнопка сделает рез. копию профиля при работающем бравзере. Используется cmd.exe и rar.exe (из WinRar)
В кнопке надобно прописать путь до своего профиля FF и путь к архиватору WinRar(путь установлен по-умолчанию которые в стандартной установке WinRar, изменить на свой)
Сначала копируется профиль в %TEMP% и оттуда архивируется рядом с папкой профиля в %APPDATA% с именем типа PMprofbak_2016_02_10-01.rar год_месяц_число-порядковый номер
URl
custombutton://%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22UTF-8%22%3F%3E%0D%0A%3Ccustombutton%20xmlns%3Acb%3D%22http%3A//xsms.nm.ru/custombuttons/%22%3E%0A%20%20%3Cname%3E%u0421%u0434%u0435%u043B%u0430%u0442%u044C%20%u0431%u044D%u043A%u0430%u043F%20%u043F%u0440%u043E%u0444%u0438%u043B%u044F%20%28%u0437%u0430%u043F%u0443%u0441%u0442%u0438%u0442%u0441%u044F%20%u0431%u0430%u0442%u043D%u0435%u0433%20%u0438%20%u0441%u0434%u0435%u043B%u0430%u0435%u0442%20%u0430%u0440%u0445%u0438%u0432%20%u0440%u044F%u0434%u043E%u043C%20%u0441%20%u043F%u0440%u043E%u0444%u0438%u043B%u0435%u043C%29%3C/name%3E%0A%20%20%3Cimage%3E%3C%21%5BCDATA%5Bdata%3Aimage/png%3Bbase64%2CiVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAALZSURBVBgZBcFLiFVlAADg7zzuPLzjzDjOMINMitIie5gF+UAkIZSgRQuXLZIWrY021dYIggJdJURElJsoqlWRYA9GshGFCNQeOjoTk6bjeOd5zzn/f07flzRNA459ObcHJ3cM9+1fq2prVa2qa+uh7mAZ9xCxiAV8iu9zgDqEvU9ODOx//dkxALBa1kNrZT202I2TZcVyEd28t+Lb66uHcTwHqEMYH+xJwNyDqJUk8oQsp7eV2tqbytJUK+OpyX5bhtojH07Pv58CxKoabOeEmuUy0al4UNDp0umysM5/KxG8eWbW/u1tj4+2xnKAWFUjG3tSqwWr3ShNEzmyjDQjk8gSaiRxyYUbiy7PduZzgFiW40P9mc56sFY00rSRpaQxkaVkGlmGJnNnqXDq7N9LOJYDhLLcNj7Y0uk2AjRkMZE2iGQaeZOqG2IrCmXY/s1rB+6nALEstk0M9VotG0lKliRSpEjw+YUjPjq3RxkKoSjEsoiQwvMnvusXQ09vK1VGUg1qjVrUqDWKUJoc3emVj3dbWeuEUJZLkEMoyrF2u0+aUEPD19OHNXVQ1kEZgy2bHrZzYq/l7qr766/m3VC0ub+SQyyLDXm7R56SpYlYJ0JdOvzYy2JTi3VUa8x35jwxecBKue7S7E+dXW+nI/nB42dGcWLPI1vdXmrcvBO1++iGUmxqtxb+UtVBqCtVrCwVy3Y/dNBKtZb+OjO1kMeyfA4vXLo6Y3E9t1I0qtjo6goxGB/cKtRRbGr/dmaNDEy4PHfe+etTd8vgSB6r6ukXD+3qf+ulfQDg6OnCJ7+8p6xL3VDaMfqofTuOuHhryrk/fl4tokPz7zRX8lhVM7fvdXx29qrhgX7Dg32G271OHv3dxg09entSvXnqmXcHJGm/6Ru/ad89dmrm9AdXIK9D+GLq4rXJqYvXtmEzNmMTNmGor6fV6utr6YxWfvjzR0P/vDGTh7GvAP4H2uh1wse2x/0AAAAASUVORK5CYII%3D%5D%5D%3E%3C/image%3E%0A%20%20%3Cmode%3E0%3C/mode%3E%0A%20%20%3Cinitcode%3E%3C%21%5BCDATA%5B/*Initialization%20Code*/%5D%5D%3E%3C/initcode%3E%0A%20%20%3Ccode%3E%3C%21%5BCDATA%5B//%20%u0417%u0430%u043F%u0443%u0441%u043A%20VBScript%20%u0438%u0437%20%u0432%u043A%u043B%u0430%u0434%u043A%u0438%20%u0421%u043F%u0440%u0430%u0432%u043A%u0430%20................%0A%20%20%20var%20file%20%3D%20Services.dirsvc.get%28%27ProfD%27%2C%20Ci.nsIFile%29%3B%0A%20file.append%28%22e.txt%22%29%3B%0A//%20%u0444%u0430%u0439%u043B%20%u0438%u0441%u043A%u043B%u044E%u0447%u0435%u043D%u0438%u0439%20%u0438%u0437%20%u043A%u043E%u043F%u0438%u0440%u043E%u0432%u0430%u043D%u0438%u044F%20%u0434%u043B%u044F%20xcopy%28%u0438%u0431%u043E%20%u043C%u0435%u043B%u043A%u043E%u0441%u043E%u0444%u0442%20%u043D%u0435%20%u043C%u043E%u0436%u0435%u0442%20%u0441%u0434%u0435%u043B%u0430%u0442%u044C%20%u043D%u043E%u0440%u043C%u0430%u043B%u044C%u043D%u043E%2C%20%u0432%20%u043A%u043E%u043C%u0430%u0430%u043D%u0434%u0435%2C%20%u0435%u043C%u0443%20%u043D%u0443%u0436%u0435%u043D%20%u0438%u043C%u0435%u043D%u043D%u043E%20%u0444%u0430%u0439%u043B%20%3Asick%29%2C%20%u043C%u043E%u0436%u043D%u043E%20%u0434%u043E%u0431%u0430%u0432%u0438%u0442%u044C%20%u0441%u0432%u043E%u0438.%20%0A%20custombuttonsUtils.writeFile%28%20file.path%2C%20convertFromUnicode%28%22866%22%2C%20%22%5C%5CSoft%5C%5C%5Cn.sqlite-shm%5Cn.lock%22%29%20%29%3B%0A%0A%20%20var%20file%20%3D%20Services.dirsvc.get%28%27ProfD%27%2C%20Ci.nsIFile%29%3B%0A%20file.append%28%22profileBak.cmd%22%29%3B%0A%20custombuttonsUtils.writeFile%28%20file.path%2C%20convertFromUnicode%28%22866%22%2C%20self.Help%29%20%29%3B%0A%20%20file.launch%28%29%3B%0A%0A%0A%0A%0A%0A%0A%5D%5D%3E%3C/code%3E%0A%20%20%3Caccelkey%3E%3C%21%5BCDATA%5B%5D%5D%3E%3C/accelkey%3E%0A%20%20%3Chelp%3E%3C%21%5BCDATA%5B@echo%20off%0A@chcp%20866%0A@set%20tpath%3D%25TEMP%25%5C0l0-%25RANDOM%25-%25RANDOM%25%5Cmozilla-prof%0A@if%20not%20exist%20%25tpath%25%20md%20%25tpath%25%0Arem%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%20%u0443%u043A%u0430%u0437%u0430%u0442%u044C%20%u043F%u0443%u0442%u044C%20%u043A%20%u043F%u0440%u043E%u0444%u0438%u043B%u044E%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0A@set%20profpath%3D%25APPDATA%25%5CMoonchild%20Productions%5CPale%20Moon%5CProfiles%5C09jafpxv.default%0Arem%20%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%3D%0Axcopy%20%22%25profpath%25%22%20%22%25tpath%25%5C%22%20/S%20/H%20/E%20/I%20/C%20/EXCLUDE%3Ae.txt%0Arem%20%u041F%u0440%u043E%u0441%u0442%u043E%20%u043F%u0430%u0443%u0437%u0430%0Aping%20127.0.0.1%20-n%205%20%3Enul%0A%22%25PROGRAMFILES%25%5CWinrar%5Crar.exe%22%20m%20-m5%20-rr5%20-ri3%20-ep1%20-x*%5CSoft%20-x*%5CSoft%5C*%20-x*.sqlite-wal%20-agYYYY_MM_DD-NN%20%22%25profpath%25%5C..%5CPMprofbak_.rar%22%20%22%25tpath%25%22%0Armdir%20/S%20/Q%20%25tpath%25%0Aexit%5D%5D%3E%3C/help%3E%0A%20%20%3Cattributes/%3E%0A%3C/custombutton%3E
var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.append("e.txt"); // файл исключений из копирования для xcopy(ибо мелкософт не может сделать нормально, в комаанде, ему нужен именно файл :sick), можно добавить свои. custombuttonsUtils.writeFile( file.path, convertFromUnicode("866", "\\Soft\\\n.sqlite-shm\n.lock") ); var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.append("profileBak.cmd"); custombuttonsUtils.writeFile( file.path, convertFromUnicode("866", self.Help) ); file.launch();
@echo off @chcp 866 @set tpath=%TEMP%\0l0-%RANDOM%-%RANDOM%\mozilla-prof @if not exist %tpath% md %tpath% rem ======================= указать путь к профилю ============= @set profpath=%APPDATA%\Moonchild Productions\Pale Moon\Profiles\09jafpxv.default rem ============================================================ xcopy "%profpath%" "%tpath%\" /S /H /E /I /C /EXCLUDE:e.txt rem Просто пауза ping 127.0.0.1 -n 5 >nul "%PROGRAMFILES%\Winrar\rar.exe" m -m5 -rr5 -ri3 -ep1 -x*\Soft -x*\Soft\* -x*.sqlite-wal -agYYYY_MM_DD-NN "%profpath%\..\PMprofbak_.rar" "%tpath%" rmdir /S /Q %tpath% exit
Отсутствует
Нужен только путь к архиватору.
По-умолчанию архиватор внутри профиля в папке \Soft\winrar\rar.exe (типа для переносной сборки).
Архивы ложатся рядом с профилем.
/*CODE*/ var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.append("e.txt"); // файл исключений из копирования для xcopy(ибо мелкософт не может сделать нормально, в комаанде, ему нужен именно файл :sick), можно добавить свои. custombuttonsUtils.writeFile( file.path, convertFromUnicode("866", "\\Cache\\\n\\Soft\\\n.sqlite-shm\n.lock") ); var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.append("profileBak.cmd"); custombuttonsUtils.writeFile( file.path, convertFromUnicode("866", self.Help) ); file.launch();
@echo off @chcp 866 @set tpath=%TEMP%\0l0-%RANDOM%-%RANDOM%\mozilla-prof @if not exist %tpath% md %tpath% set profpath=%~dp0 set profpath=%profpath:~0,-1% rem ================ указать путь к архиватору ======================= set rarpath="%~dp0\SOFT\Winrar\rar.exe" rem ================================================================== xcopy "%profpath%" "%tpath%\" /S /H /E /I /C /EXCLUDE:e.txt rem Просто пауза ping 127.0.0.1 -n 5 >nul rem архиватор в профиле. %rarpath% m -m5 -rr5 -ri3 -ep1 -x*\Soft -x*\Soft\* -x*.sqlite-wal -agYYYY_MM_DD-NN "%profpath%\..\PMprofbak_.rar" "%tpath%" rmdir /S /Q %tpath% exit
Отсутствует
Вот здесь давным давно все сделали. http://forum.ru-board.com/topic.cgi?for … art=760#14
Отсутствует
xoreax
Не все у тебя в одной кнопке, нужен еще платный архиватор. А там ни какой оплаты и ни какого вареза. Да и решение выложено три месяца назад.
Отредактировано _zt (11-12-2016 01:31:51)
Отсутствует
v2. Пути к архиватору WinRAR ищутся в очевидных местах установки. %PROGRAMFILES% или %ProgramFiles(x86)% и так же в профиле
// Записать батнег из вкладки Справка в файл и запустить var file = Services.dirsvc.get('ProfD', Ci.nsIFile); file.append("profileBak.cmd"); custombuttonsUtils.writeFile( file.path, convertFromUnicode("866", self.Help) ); file.launch();
@echo off @chcp 866 rem создать файл исключений для xcopy файлы и папки кот. НЕ надо копировать в архив. (echo \Cache\ echo \Cache2\ echo \Cache4\ echo \ScrapBook\ echo \PM_SOFT\ echo .sqlite-shm echo .sqlite-wal echo .lock ) > "%~dp0excl.txt" set tpath=%TEMP%\0l0-%RANDOM%-%RANDOM%\palemoon-prof set WINRAR_PROF=%~dp0PM_SOFT\Winrar\rar.exe set WINRAR_PF=%ProgramFiles%\Winrar\rar.exe set WINRAR_PF64=%ProgramFiles(x86)%\Winrar\rar.exe if not exist %tpath% md %tpath% for %%i in ("%~dp0\..") do set "PM_prof_root=%%~fi" set profpath=%~dp0 set profpath=%profpath:~0,-1% @rem ======================= найти путь к архиватору rar. ======================== if exist "%WINRAR_PROF%" set rarpath="%WINRAR_PROF%" & goto :ARCH if exist "WINRAR_PF" set rarpath="WINRAR_PF" & goto :ARCH if exist "%WINRAR_PF64%" set rarpath="%WINRAR_PF64%" & goto :ARCH @rem ============================================================================== echo . echo Не нашел ни одного пути к архиватору rar.exe Проверить скрипт или доступ. pause exit exit :ARCH title "Копирую профиль в другое место..." xcopy "%profpath%" "%tpath%\" /S /H /E /I /C /EXCLUDE:excl.txt title "Пауза...." rem Просто пауза ping 127.0.0.1 -n 5 >nul title "Создаю архив профиля..." rem %rarpath% m -m5 -rr5 -ri3 -ep1 -x*\cache* -x*\cache*\* -x*\PM_SOFT -x*\PM_SOFT\* -x*\ScrapBook -x*\ScrapBook\* -x*.sqlite-wal -agYYYY_MM_DD-NN "%PM_prof_root%\PMprofbak-new_.rar" "%tpath%" %rarpath% m -m5 -rr5 -ri3 -ep1 -agYYYY_MM_DD-NN "%PM_prof_root%\PMprofbak-new_.rar" "%tpath%" ping 127.0.0.1 -n 3 >nul title "Удаляю копию профиля в TEMP..." rmdir /S /Q "%tpath%" rmdir /S /Q "%tpath%\.." exit
...программисты словно войну какую-то ведут за свои обновления. Блин, почему сейчас повсюду мания ухудшать интерфейсы и делать их максимально неудобными?! Radiation
Отсутствует
Страницы: 1