Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off & set _TIME_start=%time%
- echo\
- REM echo %date% %time%
- REM echo %~sf0 1=(%1) 2=(%2) 3=(%3) 4=(%4) 5=(%5)
- REM :::: dal file start_01.cmd
- REM :::: call %_USEFULTOOLS% run_as_admin %_CMD_EXE% "%username% %_USEFULTOOLS%"
- REM echo\
- REM echo drive=%~d0
- REM echo full=%~f0
- REM echo path=%~p0 - 1=(%1) - 2=(%2) - 3=(%3) - 4=(%4) - 5=(%5)
- REM echo file=%~nx0 - 1=(%1) - 2=(%2) - 3=(%3) - 4=(%4) - 5=(%5)
- cd %~d0
- set "_DRIVE=%~d0"& REM set _DRIVE
- set "_PATH=%~p0"& REM set _PATH
- set "_FILE=%~nx0"& REM set _FILE
- set "_PATHs=%~sp0"& REM set _PATHs
- set "_FILEs=%~snx0"& REM set _FILEs
- echo 0=%0 1=(%1) 2=(%2) 3=(%3) 4=(%4) 5=(%5)
- set "_USER_REFERRER=%1"
- set "_USEFULTOOLS=%2"
- set /a _ERROR=0
- if not defined _USEFULTOOLS echo controlla %~0 & goto :END00
- if %_USEFULTOOLS%==%_DRIVE%%_PATH%myScripts\usefultools.cmd (
- if not exist %_DRIVE%%_PATH%myScripts\usefultools.cmd (
- echo\
- echo %~f0
- echo non esiste
- echo "%_DRIVE%%_PATH%myScripts\usefultools.cmd"
- echo\
- set /a _ERROR+=1
- REM for /f "delims=^=" %%A in ('@set _') do @set "%%A="
- goto :END00
- )
- )
- :::: controllo se l'utente che esegue è Administrators
- call %_USEFULTOOLS% user_is_admin >nul
- if %errorlevel% GTR 0 (
- echo\
- echo utente "%USERNAME%" gruppo locale "%my_USER_IS%"
- echo devi appartenete al gruppo locale "Administrators"
- echo per eseguire questo script "%~f0"
- exit /b 127
- )
- )
- title %username% %date% %time% esegue %~f0 %1 %2 %3 %4 %5
- echo %~f0 start %_TIME_start%
- echo attendi....
- %_DRIVE%
- cd\
- :::: cd %_DRIVE%%_PATHs%
- goto :START
- call %_USEFULTOOLS% where_is_ff >nul
- :: visualizza la var da modificare
- set my_FIREFOX_PROFILES
- REM echo %~sdpnx0
- REM echo %~f0
- REM echo %~sf0
- REM echo %~s0
- REM echo %~0
- REM echo %0 "%1"
- echo ---------
- :: sostituisco %username% con il parametro passato
- call set my_FF_PROFILES=%%my_FIREFOX_PROFILES:%username%=%%
- call set my_FF_PROFILES=%%my_FF_PROFILES:\\=\%1\%%
- ::
- if exist "%my_FF_PROFILES%" echo my_FF_PROFILES=%my_FF_PROFILES%
- :START
- setlocal enabledelayedexpansion
- echo\&echo setlocal--------------
- echo ###############################################
- echo ## imposto i server ##
- echo ## di sincronizzazione orario *.pool.ntp.org ##
- :::: https://www.ntppool.org/it/use.html
- w32tm /config /syncfromflags:manual /manualpeerlist:"0.pool.ntp.org 1.pool.ntp.org 2.pool.ntp.org 3.pool.ntp.org" & set ERROR_add_ntp=%errorlevel%
- if %ERROR_add_ntp% EQU 0 (
- echo ## [OK] w32tm /config... .. . . . .
- ) else (
- echo ATTENZIONE VERIFICA LO SCRIPT w32tm /config... .. . . . .
- )
- echo ######################################
- echo ######################################
- echo ## Modifico le variabili di sistema ##
- echo ## Path . . . . in questo script #=%%
- set "_REG_Q_PATH=reg query "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v Path | findstr -i path"
- :::: racchiuso tra virgoletta altrimenti interpreta | come pipe
- REM echo ++@@@]"%_REG_Q_PATH%"[@@@++
- :: escape | per lavorare con for
- set "_REG_Q_PATH=%_REG_Q_PATH:|=^|%"
- REM echo --@@@]"%_REG_Q_PATH%"[@@@--
- set "_Qa=%%"
- set "_Qb=^%%"
- for /f "tokens=1,2,3" %%G in ('%_REG_Q_PATH%') do (
- set "my_R_Q_Key_Name=%%G"
- set "my_R_Q_Key_Tipe=%%H"
- set "my_R_Q_PATH=%%I"
- )
- :::: evito l'espansione delle var, sostituisco % con #
- set "my_R_Q_PATH=!my_R_Q_PATH:%_Qa%=#!"
- :::: controllo se il valore Path termina con ;
- :::: findstr exit con 0=trovato
- echo %my_R_Q_PATH%| findstr /R /C:"[;]$">nul & set ERROR_findstr=!errorlevel!
- if not %ERROR_findstr% EQU 0 (
- set SEMICOLON_end=;
- set "my_R_Q_PATH=%my_R_Q_PATH%!SEMICOLON_end!"
- )
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::: aggiungo a Path se non contiene %my_ADD_Path% ::::::::
- set "my_ADD_Path=#SystemRoot#\myscripts"
- set "my_ADD_Path=%my_ADD_Path% #SystemRoot#\myscripts\UnxUtils"
- set "my_ADD_Path=%my_ADD_Path% #SystemRoot#\myscripts\x64tools"
- set "my_ADD_Path=%my_ADD_Path% #SystemRoot#\myscripts\sysInternal"
- call :HANDLE_args %my_ADD_Path%
- echo ---- %Return_COUNT_arg% Argomenti gestiti.
- REM echo %my_R_Q_PATH%
- goto :WRITE_new_Path
- :HANDLE_args
- if not [%0]==[:HANDLE_args] (
- echo ..Che fai qui??
- echo .. . . .esci.
- exit /b 110
- )
- set /a Return_COUNT_arg = 0
- :HANDLE_for_args
- if [%1]==[] goto :EOF
- for /f "tokens=1-31" %%A in ('echo %my_TOUCH%') do (
- echo %my_R_Q_PATH%| findstr -i %1;>nul && set "%1=!errorlevel!"
- if defined %1 echo -- %1 [OK] presente in #Path#
- if not defined %1 (
- echo [OK] add %1 in #Path#
- set "my_R_Q_PATH=%my_R_Q_PATH%%1;"
- )
- )
- set /a Return_COUNT_arg += 1
- shift /1
- goto :HANDLE_for_args
- echo questo non devi vederlo
- echo l'uscita é:
- echo :HANDLE_for_args
- echo if [%1]==[] goto :EOF
- endlocal
- exit /b
- :::: aggiungo a Path se non contiene %my_ADD_Path% FINE ::::
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :WRITE_new_Path
- :::: sostituisco # con %
- set "my_R_Q_PATH=%my_R_Q_PATH:#=!_Qb!%"
- reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v %my_R_Q_Key_Name% /t %my_R_Q_Key_Tipe% /d %my_R_Q_PATH% /f & set ERROR_reg_add_path=!errorlevel!
- if %ERROR_reg_add_path% EQU 0 (
- echo reg add error=%errorlevel% Path [OK]
- ) else (
- echo reg add error=%errorlevel%
- echo ATTENZIONE VERIFICA LO SCRIPT reg add Path
- echo %_DRIVE%%_PATHs%%_FILEs%
- )
- echo ###########################################
- :::: FINE modifica PATH ::::::::::::::::::::
- ::::::::::::::::::::::::::::::::::::::::::::
- ::::::::::::::::::::::::::::::::::::::::::::
- echo ###########################################
- echo #### aggiungo myScripts alle variabili ####
- echo #### di sistema ####
- reg add "HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Session Manager\Environment" /v myScripts /t %my_R_Q_Key_Tipe% /d %%SystemRoot%%\myScripts /f & set ERROR_reg_add_myS=!errorlevel!
- if %ERROR_reg_add_myS% EQU 0 (
- echo reg add error=%errorlevel% myScripts [OK]
- ) else (
- echo reg add error=%errorlevel%
- echo ATTENZIONE VERIFICA LO SCRIPT reg add myScripts
- echo %_DRIVE%%_PATHs%%_FILEs%
- )
- echo ###########################################
- echo ###########################################
- echo #### aggiungo APRI CMD QUI ###
- echo #### ... .. . . . .
- set ERROR_OK_ADM=
- dir /b %_DRIVE%%_PATH%myScripts\OK_ADM_*.reg >nul && set ERROR_OK_ADM=%errorlevel%
- if defined ERROR_OK_ADM (
- for /f %%A in ('dir /b %_DRIVE%%_PATH%myScripts\OK_ADM_*.reg ^| sort') do (
- echo reg import %_DRIVE%%_PATH%myScripts\%%A
- @reg import %_DRIVE%%_PATH%myScripts\%%A
- )
- REM for /f %%A in ('dir /b %_DRIVE%%_PATH%myScripts\OK_ADM_*.reg ^| sort') do @echo %_DRIVE%%_PATH%myScripts\%%A
- ) else (
- echo\
- echo COntrolla lo script %~f0
- echo\
- )
- echo ############################################
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::: Aggiunge rimuove esclusioni a MS DEFENDER ::::::::
- :::: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Defender\Exclusions\Paths
- :::: https://docs.microsoft.com/en-us/powershell/module/defender/remove-mppreference?view=windowsserver2022-ps
- :HANDLE_DEFENDER
- if not [%0]==[:HANDLE_DEFENDER] (
- goto :HANDLE_DEFENDER_END
- echo ..Che fai qui??
- echo .. . . .esci.
- exit /b 110
- )
- if .%1==.add (
- set "pwsh_exeA_R=powershell %1-MpPreference -ExclusionPath"
- shift /1
- echo ###########################################
- echo ###### Aggiungo esclusioni a ###
- echo ###### MS DEFENDER ###
- )
- if .%1==.remove (
- set "pwsh_exeA_R=powershell %1-MpPreference -ExclusionPath"
- shift /1
- echo ###########################################
- echo ###### Rimuovo esclusioni a ###
- echo ###### MS DEFENDER ###
- )
- set /a Return_COUNT_DEFENDER_PATH = 0
- :HANDLE_DEFENDER_for
- if .%1==. goto :EOF
- set /a Return_COUNT_DEFENDER_PATH += 1
- set "pwsh_exe=%pwsh_exeA_R% "%1" -Force">nul
- echo %Return_COUNT_DEFENDER_PATH% %pwsh_exe%
- %pwsh_exe%
- REM powershell senza una funzione ritorna sempre errolevel 0
- REM echo error=%errorlevel%
- shift /1
- goto :HANDLE_DEFENDER_for
- echo questo non devi vederlo
- echo l'uscita é:
- echo :HANDLE_DEFENDER_for
- echo if .%1==. goto :EOF
- endlocal
- exit /b
- :HANDLE_DEFENDER_END
- :::: Aggiunge rimuove esclusioni a MS DEFENDER FINE :::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::: MS DEFENDER MY_PATH ::::::::::::::::::::::::::::::::::
- set "my_DEFENDER_PATH=%SystemRoot%\myscripts"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %SystemRoot%\myscripts\x64tools"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %SystemRoot%\myscripts\UnxUtils"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %SystemRoot%\myscripts\sysinternal"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %_DRIVE%\\"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %_DRIVE%\%_PATHs:\=%"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %_DRIVE%%_PATHs%myscripts\x64tools"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %_DRIVE%%_PATHs%myscripts\UnxUtils"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %_DRIVE%%_PATHs%myscripts\sysinternal"
- call :HANDLE_DEFENDER add %my_DEFENDER_PATH%
- echo ---- %Return_COUNT_DEFENDER_PATH% Argomenti gestiti.
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::: ROBOCOPY
- :ROBO
- if not [%0]==[:ROBO] goto :ROBO_END
- where robocopy.exe >nul 2>&1
- if %errorlevel% NEQ 0 (
- echo\
- echo ###################
- echo ###################
- echo non c'é robocopy
- echo ###################
- echo ###################
- echo\
- goto :ROBO_END
- )
- if [%1]==[FROM_DRIVE_TO_MYSCRIPTS] (
- if not exist %windir%\myScripts mkdir %windir%\myScripts
- set "ROBO_EXE=robocopy.exe %_DRIVE%%_PATH%myScripts %windir%\myScripts /mir /fp /COPYALL"
- )
- if [%1]==[FROM_MYSCRIPTS_TO_DRIVE] (
- if not exist %_DRIVE%%_PATH%myScripts mkdir %_DRIVE%%_PATH%myScripts
- set "ROBO_EXE=robocopy.exe %windir%\myScripts %_DRIVE%%_PATH%myScripts /mir /fp /COPYALL"
- )
- echo ###############################################
- echo ## robocopy %1
- echo\
- :::: https://ss64.com/nt/robocopy-exit.html
- echo call %ROBO_EXE%
- :::: call %ROBO_EXE% >nul
- call %ROBO_EXE%
- if %ERRORLEVEL% EQU 16 echo %ERRORLEVEL% ***FATAL ERROR*** & goto end
- if %ERRORLEVEL% EQU 15 echo %ERRORLEVEL% OKCOPY + FAIL + MISMATCHES + XTRA & goto end
- if %ERRORLEVEL% EQU 14 echo %ERRORLEVEL% FAIL + MISMATCHES + XTRA & goto end
- if %ERRORLEVEL% EQU 13 echo %ERRORLEVEL% OKCOPY + FAIL + MISMATCHES & goto end
- if %ERRORLEVEL% EQU 12 echo %ERRORLEVEL% FAIL + MISMATCHES& goto end
- if %ERRORLEVEL% EQU 11 echo %ERRORLEVEL% OKCOPY + FAIL + XTRA & goto end
- if %ERRORLEVEL% EQU 10 echo %ERRORLEVEL% FAIL + XTRA & goto end
- if %ERRORLEVEL% EQU 9 echo %ERRORLEVEL% OKCOPY + FAIL & goto end
- if %ERRORLEVEL% EQU 8 echo %ERRORLEVEL% FAIL & goto end
- if %ERRORLEVEL% EQU 7 echo %ERRORLEVEL% OKCOPY + MISMATCHES + XTRA & goto end
- if %ERRORLEVEL% EQU 6 echo %ERRORLEVEL% MISMATCHES + XTRA & goto end
- if %ERRORLEVEL% EQU 5 echo %ERRORLEVEL% OKCOPY + MISMATCHES & goto end
- if %ERRORLEVEL% EQU 4 echo %ERRORLEVEL% MISMATCHES & goto end
- if %ERRORLEVEL% EQU 3 echo %ERRORLEVEL% OKCOPY + XTRA & goto end
- if %ERRORLEVEL% EQU 2 echo %ERRORLEVEL% XTRA & goto end
- if %ERRORLEVEL% EQU 1 echo %ERRORLEVEL% OKCOPY & goto end
- if %ERRORLEVEL% EQU 0 echo %ERRORLEVEL% No Change & goto end
- :end
- if [%0]==[:ROBO] goto :EOF
- :ROBO_END
- ::::::::: ROBOCOPY END ::::::::::::
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- echo\
- echo ###############################################
- echo ## ROBOCOPY ###################################
- REM call :ROBO FROM_MYSCRIPTS_TO_DRIVE
- call :ROBO FROM_DRIVE_TO_MYSCRIPTS
- echo\
- echo ###############################################
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::: SCHEDULE ogni ora ::::
- echo ###############################################
- echo ###############################################
- echo ## AGGIUNGO OPERAZIONE PIANIFICATA OGNI ORA ##
- echo\
- set "SCHEDULE_Q_ERROR="
- schtasks /query /tn "MY_SCHEDULE\OGNI_ORA" >nul 2>&1 && set SCHEDULE_Q_ERROR=%errorlevel%
- if defined SCHEDULE_Q_ERROR (
- echo\
- echo la vecchia programmazione "MY_SCHEDULE\OGNI_ORA"
- echo viene sostituita
- echo schtasks /delete /tn "MY_SCHEDULE\OGNI_ORA" /f
- schtasks /delete /tn "MY_SCHEDULE\OGNI_ORA" /f >nul 2>&1
- echo\
- )
- echo nuova programmazione "MY_SCHEDULE\OGNI_ORA"
- echo schtasks /create /XML "%windir%\myScripts\ogni_ora.xml" /TN "MY_SCHEDULE\OGNI_ORA"
- schtasks /Create /XML "%windir%\myScripts\ogni_ora.xml" /TN "MY_SCHEDULE\OGNI_ORA" >nul 2>&1
- if %errorlevel% GTR 0 (
- echo\
- echo ERRORE OPERAZIONE PIANIFICATA OGNI ORA
- echo controlla lo script %~f0
- echo\
- ) else (
- echo\
- echo OPERAZIONE PIANIFICATA OGNI ORA "OK"
- )
- echo\
- echo supporto per themetools
- echo copy /y "%windir%\myScripts\ok-theme.theme" "%windir%\Resources\Themes\ok-theme.theme"
- copy /y "%windir%\myScripts\ok-theme.theme" "%windir%\Resources\Themes\ok-theme.theme"
- echo ##############################################
- :::: SCHEDULE ogni ora FINE ::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
- set my_DEFENDER_PATH=
- set "my_DEFENDER_PATH=%_DRIVE%\\"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %_DRIVE%\%_PATHs:\=%"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %_DRIVE%%_PATHs%myscripts\x64tools"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %_DRIVE%%_PATHs%myscripts\UnxUtils"
- set "my_DEFENDER_PATH=%my_DEFENDER_PATH% %_DRIVE%%_PATHs%myscripts\sysInternal"
- REM call :HANDLE_DEFENDER remove %my_DEFENDER_PATH%
- REM echo ---- %Return_COUNT_DEFENDER_PATH% Argomenti gestiti.
- echo\
- endlocal&(
- echo endlocal---------------
- echo\
- )
- :END00
- echo %~0 start %_TIME_start%
- echo %~f0 end %time%
- REM echo %~0 - 1=(%1) - 2=(%2) - 3=(%3) - 4=(%4) - 5=(%5)
- echo _USER_REFERRER=%_USER_REFERRER%
- echo _USEFULTOOLS=%_USEFULTOOLS%
- echo _DRIVE=%_DRIVE% _PATHs=%_PATHs% _FILEs=%_FILEs%
- exit /b %_ERROR%
- for /f "delims=^=" %%A in ('@set my_') do set "%%A="
- for /f "delims=^=" %%A in ('@set _') do set "%%A="
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement