:: ------------------------------------- :: qTool Installer 2.2 :: ------------------------------------- :: author: Wing Lo (winglo@gmail.com) :: update: 2020-10-06 :: :: Please download the latest installer form :: https://qtool.alphalayer.com COLOR 80&ECHO OFF&CLS SETLOCAL ENABLEDELAYEDEXPANSION TITLE qTool Installer :init SET default-root=%USERPROFILE% SET install-zip=https://alphalayer.com/qTool/qTool-latest.zip FOR /F %%i IN ('powershell "get-date -f FileDateTime"') DO SET date-time=%%i IF NOT DEFINED QTOOL_ROOT SET root=%default-root% IF DEFINED QTOOL_ROOT SET root=%QTOOL_ROOT% IF DEFINED QTOOL_ROOT_DEBUG SET root=%QTOOL_ROOT_DEBUG% IF NOT EXIST "%root%\qTool" GOTO menu IF EXIST "%root%\qTool" GOTO menu-r :menu CLS ECHO --------------------------------------------- ECHO qTool Installer ECHO --------------------------------------------- ECHO Install location: ECHO ^> %root%\qTool ECHO. ECHO Menu: ECHO --------------------------------------------- ECHO 1 - Install qTool (full) ECHO 2 - Install qTool (scripts-only) ECHO 3 - Install qTool (executables-only) ECHO 4 - Change install location ECHO 5 - Exit ECHO. CHOICE /C 12345 /N /M "> Enter number 1-5: " IF %ERRORLEVEL%==1 GOTO install-full IF %ERRORLEVEL%==2 GOTO install-scripts-only IF %ERRORLEVEL%==3 GOTO install-bin-only IF %ERRORLEVEL%==4 GOTO change-root IF %ERRORLEVEL%==5 GOTO end GOTO end :menu-r CLS ECHO --------------------------------------------- ECHO qTool Installer ECHO --------------------------------------------- ECHO Install location: ECHO ^> %root%\qTool ECHO. ECHO A previous version of qTool has been detected ECHO you can proceed with the following options: ECHO. ECHO Menu: ECHO --------------------------------------------- ECHO 1 - Update qTool (full) ECHO 2 - Update qTool (scripts-only) ECHO 3 - Update qTool (executables-only) ECHO 4 - Uninstall ECHO 5 - Backup ECHO 6 - Exit ECHO. CHOICE /C 123456 /N /M "> Enter number 1-6: " IF %ERRORLEVEL%==1 GOTO install-full IF %ERRORLEVEL%==2 GOTO install-scripts-only IF %ERRORLEVEL%==3 GOTO install-bin-only IF %ERRORLEVEL%==4 GOTO un-install IF %ERRORLEVEL%==5 GOTO backup IF %ERRORLEVEL%==6 GOTO end :install-full CLS ECHO. ECHO Install qTool (full) ECHO --------------------------------------------- ECHO [..] installing now, this can take a few minutes... PowerShell "Invoke-WebRequest -Uri '%install-zip%' -O '%tmp%\qTool_%date-time%.zip'" PowerShell "Expand-Archive -Path '%tmp%\qTool_%date-time%.zip' -DestinationPath '%tmp%\qTool_%date-time%' -Force" ROBOCOPY /E "%tmp%\qTool_%date-time%\qTool" "%root%\qTool" /NFL /NDL /NJH /NJS >NUL PowerShell "PowerShell -ExecutionPolicy Bypass -File '%root%\qTool\script\qTool\install_ffmpeg.ps1'" PowerShell "PowerShell -ExecutionPolicy Bypass -File '%root%\qTool\script\qTool\env_path_remove.ps1'" PowerShell "PowerShell -ExecutionPolicy Bypass -File '%root%\qTool\script\qTool\env_path_add.ps1'" DEL "%tmp%\qTool_%date-time%.zip" /F /Q RD "%tmp%\qTool_%date-time%" /S /Q ECHO [ok] install is completed. ECHO. ECHO ^> Press 'any-key' to close this window. PAUSE >NUL GOTO end :install-scripts-only CLS ECHO. ECHO Install qTool (scripts-only) ECHO --------------------------------------------- ECHO [..] installing now, this can take a few minutes... PowerShell "Invoke-WebRequest -Uri '%install-zip%' -O '%tmp%\qTool_%date-time%.zip'" PowerShell "Expand-Archive -Path '%tmp%\qTool_%date-time%.zip' -DestinationPath '%tmp%\qTool_%date-time%' -Force" ROBOCOPY /E "%tmp%\qTool_%date-time%\qTool" "%root%\qTool" /NFL /NDL /NJH /NJS >NUL DEL "%tmp%\qTool_%date-time%.zip" /F /Q RD "%tmp%\qTool_%date-time%" /S /Q ECHO [ok] install is completed. ECHO. ECHO ^> Press 'any-key' to close this window. PAUSE >NUL GOTO end :install-bin-only CLS ECHO. ECHO Install qTool (executables-only) ECHO --------------------------------------------- ECHO [..] installing now, this can take a few minutes... PowerShell "Invoke-WebRequest -Uri '%install-zip%' -O '%tmp%\qTool_%date-time%.zip'" PowerShell "Expand-Archive -Path '%tmp%\qTool_%date-time%.zip' -DestinationPath '%tmp%\qTool_%date-time%' -Force" ROBOCOPY /E "%tmp%\qTool_%date-time%\qTool\script\qTool" "%root%\qTool\script\qTool" /NFL /NDL /NJH /NJS >NUL PowerShell "PowerShell -ExecutionPolicy Bypass -File '%root%\qTool\script\qTool\install_fullapps.ps1'" PowerShell "PowerShell -ExecutionPolicy Bypass -File '%root%\qTool\script\qTool\env_path_remove.ps1'" PowerShell "PowerShell -ExecutionPolicy Bypass -File '%root%\qTool\script\qTool\env_path_add.ps1'" DEL "%tmp%\qTool_%date-time%.zip" /F /Q RD "%tmp%\qTool_%date-time%" /S /Q ECHO [ok] install is completed. ECHO. ECHO ^> Press 'any-key' to close this window. PAUSE >NUL GOTO end :change-root CLS ECHO. ECHO Current qTool install location: ECHO --------------------------------------------- ECHO ^> %root%\qTool ECHO. ECHO Do you want to change it? ECHO --------------------------------------------- ECHO 1 - Use current location ECHO 2 - Change location ECHO 3 - Reset location (use default) ECHO. CHOICE /C 123 /N /M "> Enter number 1-3: " IF %ERRORLEVEL%==1 GOTO menu IF %ERRORLEVEL%==2 GOTO change-location IF %ERRORLEVEL%==3 GOTO default-location :change-location ECHO. SET /p "root=> New location: " || GOTO change-location SET root=%root:"=% Powershell "[Environment]::SetEnvironmentVariable('QTOOL_ROOT', '%root%', 'User')" ECHO. ECHO ^> Location changed. Please run installer again. ECHO. ECHO ^> Press 'any-key' to close this window. PAUSE >NUL GOTO end :default-location Powershell "[Environment]::SetEnvironmentVariable('QTOOL_ROOT', '%default-root%', 'User')" ECHO. ECHO ^> Location changed. Please run installer again. ECHO. ECHO ^> Press 'any-key' to close this window. PAUSE >NUL GOTO end :backup CLS ECHO. ECHO Backup qTool ECHO --------------------------------------------- ECHO [..] backing up files to "%root%\qTool\qTool_backup\%date-time%"... ROBOCOPY /E "%root%\qTool" "%root%\qTool_backup\%date-time%" /NFL /NDL /NJH /NJS >NUL ECHO [ok] backup is completed. ECHO. ECHO ^> Press 'any-key' to go back to menu. PAUSE >NUL GOTO menu-r :un-install CLS ECHO. ECHO Remove qTool ECHO --------------------------------------------- ECHO [..] un-install qTool components... PowerShell "PowerShell -ExecutionPolicy Bypass -File '%root%\qTool\script\qTool\env_path_remove.ps1'" RD "%root%\qTool" /S /Q PowerShell "[Environment]::SetEnvironmentVariable('QTOOL_ROOT', $NULL, 'User')" ECHO [ok] un-install is completed. ECHO. ECHO ^> Press 'any-key' to close this window. PAUSE >NUL GOTO end :end