Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off & setlocal & cls & echo.
- ::::::::::::::::::::::::::::::::::::::::::::
- ::::::::::::::::::::::::::::::::::::::::::::
- :::::: routin principale.... ... .. . . .::::::::::::::::::::::::::::::::::::::
- if [%1] NEQ [] ( set "P1=%1" )
- if defined P1 ( set "Ps1= %P1%" )
- :: echo -%P1%- -%Ps1%-
- :: endlocal & exit /b
- for /f "tokens=1,2 delims=:" %%A in ('chcp') do (
- set "_CHCP_OLD=%%B"
- )
- chcp 65001 >nul
- ::chcp 1252 >nul
- ::chcp 850 >nul
- ::cmdow @ /min
- set _TIME_start=%time%
- echo %~dpnx0%Ps1% - %date% - %_TIME_start%
- echo routin principale.... ... .. . . .
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::::::::: trovo la dimensione del desktop::::::::::::::::::::::::
- :: valori da passare a XULSTORE_CONTENT
- ::for /f "tokens=2,10-11" %%a in ('cmdow /b /p ^| grep ^"0x[[:digit:]]*[[:space:]]0') do (
- for /f "tokens=2,10-11" %%a in ('cmdow /B /P') do (
- if "%%a"=="0" (
- set DESKTOP_0=%%a
- set DESKTOP_W=%%b
- set DESKTOP_H=%%c
- set /a WINDOW_W=%%b/6*4
- set /a WINDOW_H=%%c/6*4
- )
- )
- set /a screenX=%DESKTOP_W%/6*2
- set /a screenY=%DESKTOP_H%/6*2
- ::::::::: trovo la dimensione del desktop fine ::::::::::::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::::::::::date e ora come le voglio io ::::::::::::::::::::::::
- for /f "tokens=1-5 delims= " %%a in ( 'wmic path win32_localtime get day^,dayofweek^,month^,year ^| findstr /R [0-9]' ) do (
- set DAY=%%a
- set DAY_OF_WEEK=%%b
- set MONTH_N=%%c
- set YEAR=%%d
- )
- if defined MONTH_N (
- if %MONTH_N%==1 set MONTH_NAME=gennaio
- if %MONTH_N%==2 set MONTH_NAME=febbraio
- if %MONTH_N%==3 set MONTH_NAME=marzo
- if %MONTH_N%==4 set MONTH_NAME=aprile
- if %MONTH_N%==5 set MONTH_NAME=maggio
- if %MONTH_N%==6 set MONTH_NAME=giugno
- if %MONTH_N%==7 set MONTH_NAME=luglio
- if %MONTH_N%==8 set MONTH_NAME=agosto
- if %MONTH_N%==9 set MONTH_NAME=settembre
- if %MONTH_N%==10 set MONTH_NAME=ottobre
- if %MONTH_N%==11 set MONTH_NAME=novembre
- if %MONTH_N%==12 set MONTH_NAME=dicembre
- )
- if defined DAY_OF_WEEK (
- if %DAY_OF_WEEK%==0 set DAY_NAME=domenica
- if %DAY_OF_WEEK%==1 set DAY_NAME=lunedì
- if %DAY_OF_WEEK%==2 set DAY_NAME=martedì
- if %DAY_OF_WEEK%==3 set DAY_NAME=mercoledì
- if %DAY_OF_WEEK%==4 set DAY_NAME=giovedì
- if %DAY_OF_WEEK%==5 set DAY_NAME=venerdì
- if %DAY_OF_WEEK%==6 set DAY_NAME=sabato
- if %DAY_OF_WEEK%==7 set DAY_NAME=domenica
- )
- :::::::::::::: date e ora come le voglio io fine ::::::::::::::::::::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::::::::::::: dov'é firefox?? ::::::::::::::::::::::::::::::::::::::::::
- for /F "tokens=2 delims=^=" %%A in ('set ProgramFiles ^2^>nul') do (
- for /f "tokens=*" %%G in ('where /r "%%A" firefox.exe ^2^>nul') do (
- set "FIREFOX_exe_PATH=%%~fG"
- set "FIREFOX_PATH=%%~dpG"
- if defined FIREFOX_exe_PATH (
- goto :where_is_FF
- )
- )
- )
- if not defined FIREFOX_exe_PATH (
- if "%ProgramW6432%"=="%ProgramFiles%" (
- goto :where_is_FF
- ) else (
- for /F "tokens=*" %%H IN ('where /r "%ProgramW6432%" firefox.exe ^2^>nul') do (
- set "FIREFOX_exe_PATH=%%~fH"
- set "FIREFOX_PATH=%%~dpH"
- if defined FIREFOX_exe_PATH (
- goto :where_is_FF
- )
- )
- )
- )
- :where_is_FF
- if not defined FIREFOX_exe_PATH (
- echo.
- echo nei percorsi d'installazione dei programmi
- echo Firefox non c'é
- set ProgramW6432 2>nul
- set ProgramFiles 2>nul
- goto :END
- )
- :::::::::::::: dov'é firefox?? fine :::::::::::::::::::::::::::::::::::::::::
- set FF_TIME_START=%time%
- set FIREFOX_PROFILE=%APPDATA%\Mozilla\Firefox\Profiles\
- set XULSTORE_FILE=xulstore.json
- set XULSTORE_CONTENT={"chrome://browser/content/browser.xhtml":{"main-window":{"screenX":"%screenX%","screenY":"%screenY%","width":"%WINDOW_W%","height":"%WINDOW_H%","sizemode":"normal"},"sidebar-box":{"sidebarcommand":"","width":""},"sidebar-title":{"value":""}}}
- set FIREFOX="%FIREFOX_exe_PATH%"
- set FIREFOX_WIN_TITLE=%COMPUTERNAME% FIREFOX for %USERNAME% - %DAY_NAME% %DAY% %MONTH_NAME% %YEAR% - %time%
- echo %~dpnx0%Ps1% - %date% - %time%
- ::::::: routin principale.... ... .. . . . Fine:::::::::::::::::::::::::::::
- ::::::::::::::::::::::::::::::::::::
- ::::::::::::::::::::::::::::::::::::
- ::::::::::::::::::::::::::::::::::::
- :: echo a schermo
- echo -----
- echo %~nx0%Ps1% -%USERNAME%- %DAY_NAME% %DAY% %MONTH_NAME% %YEAR% - %FF_TIME_START%
- echo.
- echo DESKTOP_W=%DESKTOP_W% DESKTOP_H=%DESKTOP_H%
- echo WINDOW_W=%WINDOW_W% WINDOW_H=%WINDOW_H%
- echo firefox.exe PATH %FIREFOX_PATH%
- echo firefox profile %FIREFOX_PROFILE%
- echo -----
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::::::::::::::::::::: Nei profili standard in %FIREFOX_PROFILE% imposto qualcosa
- set COUNT_PROFILE=0
- :C_P
- if not "%~0"==":C_P" goto :C_P_start
- set /a COUNT_PROFILE=%COUNT_PROFILE%+1
- echo %COUNT_PROFILE% PROFILO %~1
- if %~0==:C_P goto :EOF
- :C_P_start
- echo Nei profili predefiniti imposto qualcosa... .. . . . .
- echo.
- for /f "Tokens=*" %%i in ('dir %FIREFOX_PROFILE% /B /A /AD') do (
- call :C_P %%i
- echo %XULSTORE_CONTENT% > "%FIREFOX_PROFILE%%%i\%XULSTORE_FILE%"
- echo ripristinato "%XULSTORE_FILE%" interfaccia standard
- if exist C:\Windows\myscripts\ffsearch.json.mozlz4 (
- copy /y C:\Windows\myscripts\ffsearch.json.mozlz4 "%FIREFOX_PROFILE%%%i\search.json.mozlz4" >nul
- echo ripristinato "search.json.mozlz4" motore di ricerca duckduck
- ) else (
- echo C:\Windows\myscripts\ffsearch.json.mozlz4 non esiste
- )
- echo.
- )
- :::::::::::::::: ripristino i profili come li voglio io fine ::::::::::::::::::::
- :::::::::::::::: avvio FireFox ed attendo che la finestra aperta sia attiva :::::
- :::::::::::::::: molte volte la finestra é visibile ma non ha ancora il titolo.
- :START_FireFox
- set FF_WINid=
- set FF_FIRT_START=
- set FF_OPTIONS=
- set ERROR_START_FF=
- set FF_WINid=
- set FF_WINlev=
- set FF_WINpid=
- set FF_FIRT_START=
- :: FF_FIRT_START stinga di ricerca per la finestra about:logo
- set "FF_FIRT_START=cmdow /t /p /f | findstr /R /C:"0x[0-9A-F]*[ ][0-9][ ]*[0-9]*[ ]*Res[ ].*Ena[ ]Vis[0-9 ]*firefox[ ]*(.*pixel).*Mozilla[ ]Firefox$""
- :: per aprire una nuova finestra "-new-window" servono due "-url"
- set "FF_OPTIONS=-new-window -url "about:logo" -url "https://it.wikipedia.org/wiki/%DAY%_%MONTH_NAME%" -foreground"
- echo -----
- echo Start FireFox.
- echo ed attendo che la finestra sia attiva
- :: a schermo la variabile completa è dentro []
- echo "[%FF_FIRT_START%]"
- echo ....attendi... .. . . . . %time%
- echo start /wait "-" %FIREFOX% %FF_OPTIONS%
- start "-" /D "%USERPROFILE%" /wait %FIREFOX% %FF_OPTIONS%
- timeout 2 >nul
- echo ....attendi... .. . . . . %time%
- :: #####################################################
- :: #####################################################
- :: #####################################################
- set loop_START_FF_COUNT=1
- set COUNT_Nloop=3
- :loop_START_FF
- %FF_FIRT_START% && set ERROR_START_FF=%errorlevel%
- if not defined ERROR_START_FF (
- set /a loop_START_FF_COUNT+=1
- timeout 2 >nul
- if %loop_START_FF_COUNT% EQU %COUNT_Nloop% (
- echo ^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|
- echo [%COUNT_Nloop%] Chek poin
- echo attendo "about:logo" ^|^| "about:home" ^|^| "una finestra aperta"
- set /a COUNT_Nloop+=3
- cmdow /t /p /f | findstr /R /C:".*Res.*Ena[ ]Vis[ 0-9]*firefox[ ]*.*[ ? ]*Mozilla[ ]Firefox$" && set "ERROR_COUNT_loop_start_FF=%errorlevel%"
- if defined ERROR_COUNT_loop_start_FF (
- echo FF sembra attivo.... .. . . .apro la finestra about:logo
- start "-" /D "%USERPROFILE%" /wait %FIREFOX% -url "about:logo"
- echo ^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|
- )
- )
- echo attendo FireFox attivo %time% - [%loop_START_FF_COUNT%]
- goto :loop_START_FF
- )
- :loop_FIRST_FF_WINDOW
- if not "%~0"==":loop_FIRST_FF_WINDOW" goto :FIRST_FF_WINDOW
- set "G=%1" & set "H=%2" & set "I=%3"
- set "G=%G:G=%" & set "H=%H:H=%" & set "I=%I:I=%"
- if G%G% NEQ G (
- if not defined FF_WINid (
- set FF_WINid=%G%
- set FF_WINlev=%H%
- set FF_WINpid=%I%
- )
- )
- if "%~0"==":loop_FIRST_FF_WINDOW" goto :eof
- :FIRST_FF_WINDOW
- :: imposto "FF_FIRT_START" per il ciclo for
- set "FF_FIRT_START=%FF_FIRT_START:|=^|%"
- for /f "tokens=1-12" %%G in ('%FF_FIRT_START%') do (
- if not defined FF_WINid (
- call :loop_FIRST_FF_WINDOW G%%G H%%H I%%I
- )
- )
- if "%FF_WINid%"=="" (
- echo ---------- FF_WINid é vuoto ="%FF_WINid%"
- set FF_WINid=
- for /f "Tokens=1" %%A in ( 'cmdow "*firefox*" /b' ) do (
- echo chiudo firefox %%A
- cmdow %%A /end
- )
- timeout 2 >nul
- goto :START_FireFox
- )
- echo %FF_WINid%-%FF_WINlev%-%FF_WINpid% -- cmdow Finestra da gestire --
- cmdow %FF_WINid% /act /top
- start "-" /D "%USERPROFILE%" /wait %FIREFOX% about:home
- echo -----
- set FIREFOXact=cmdow %FF_WINid% /ren "%FIREFOX_WIN_TITLE%" /mov 35 25 /siz %WINDOW_W% %WINDOW_H% /act
- :::::::::::::::: avvio FireFox ed attendo che la finestra aperta sia attiva fine :::::
- :CK_ERROR_FIRST_FF_WINDOW
- set "ERROR_FIRST_FF_WINDOW=0"
- timeout 2 >nul
- cmdow "%FF_WINid%" /b /p >nul & set ERROR_FIRST_FF_WINDOW=%errorlevel%
- if %ERROR_FIRST_FF_WINDOW% GTR 0 (
- echo ^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|
- echo La finestra %FF_WINid% non esiste
- echo chiudo firefox e riavvio
- echo taskkill /IM firefox.exe /t
- taskkill /IM firefox.exe /t
- echo riavvio :START_FireFox
- timeout 3 >nul
- echo ^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|^|
- goto :START_FireFox
- )
- echo Rinomino il titolo, dimensiono e posiziono la finestra
- echo ---------
- cmdow "%FF_WINid%" /b /p
- set COUNT=0
- :CK_FF
- set /a COUNT=%COUNT%+1
- if %COUNT% GTR 15 (
- set "ERROR_FIRST_FF_WINDOW=0" & goto :CK_ERROR_FIRST_FF_WINDOW
- )
- cmdow /t /f /b /p | findstr /R /C:"%FF_WINid%[ ]*%FF_WINlev%[ ]*%FF_WINpid%.*Ena.*Vis.*Mozilla Firefox">nul
- set FIND_error=%errorlevel%
- :: echo %FIND_error%
- :: pause
- :: EQU - Uguale
- :: NEQ - Diverso
- :: LSS - Minore di
- :: LEQ - Minore o uguale a
- :: GTR - Maggiore di
- :: GEQ - Maggiore o uguale a
- if %FIND_error% GTR 0 (
- echo ++ N %COUNT% %time%
- timeout 3 >nul
- goto CK_FF
- REM in questo punto non deve arrivare
- echo ERRORE 02 %0 %1 %2
- REM pause
- )
- :: else
- if %FIND_error% EQU 0 (
- echo %FF_TIME_START% - %0
- echo cmdow /t /f /b /p ^| findstr /R /C:"%FF_WINid%[ ]*%FF_WINlev%[ ]*%FF_WINpid%.*Ena.*Vis.*Mozilla Firefox" trovato
- %FIREFOXact%
- if %errorlevel% GTR 0 (
- set /a COUNT=%COUNT%+100
- goto CK_FF
- )
- echo COUNT=%COUNT% - %0 fine
- echo %time% - %0
- echo ---------
- )
- :CK_win_title
- cmdow %FF_WINid% /f /b /p | findstr /E /R "%FIREFOX_WIN_TITLE%"
- set FIREFOX_WIN_TITLE_ERROR=%errorlevel%
- if %FIREFOX_WIN_TITLE_ERROR% GTR 0 (
- echo FIREFOX_WIN_TITLE_ERROR=%FIREFOX_WIN_TITLE_ERROR%
- echo ------
- timeout 1 >nul
- for /f "Tokens=1" %%A in ( 'cmdow "*firefox*" /b' ) do (
- echo chiudo firefox %%A
- cmdow %%A /end
- timeout 2 >nul
- )
- timeout 3 >nul
- goto :START_FireFox
- )
- if %FIREFOX_WIN_TITLE_ERROR% EQU 0 (
- cmdow %FF_WINid% /not
- echo FIREFOX_WIN_TITLE_ERROR=%FIREFOX_WIN_TITLE_ERROR%
- )
- :END
- echo ------
- echo %~dpnx0%Ps1%
- echo %~nx0%Ps1% -%USERNAME%- %DAY_NAME% %DAY% %MONTH_NAME% %YEAR% - %_TIME_start% - start
- echo %~nx0%Ps1% -%USERNAME%- %DAY_NAME% %DAY% %MONTH_NAME% %YEAR% - %FF_TIME_START% - FF.. start
- echo %~nx0%Ps1% -%USERNAME%- %DAY_NAME% %DAY% %MONTH_NAME% %YEAR% - %time% - end
- echo ------
- :END_00
- chcp %_CHCP_OLD% >nul
- endlocal
- exit /b 123
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement