Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @echo off
- setlocal
- call :init
- set /a "error_status=%errorlevel%"
- if %error_status% neq 0 exit /b %error_status%
- set /a "i=0"
- :copy_options
- set "option=%~1"
- if defined option (
- set "args[%i%]=%option%"
- shift
- set /a "i+=1"
- goto copy_options
- )
- set /a "args_count=i"
- set /a "i=0"
- :main_loop
- set /a "j=i + 1"
- call set "option=%%args[%i%]%%"
- call set "value=%%args[%j%]%%"
- if %i% geq %args_count% goto main_loop_break
- set /a "is___version=FALSE"
- if "%option%" == "--version" set /a "is___version=TRUE"
- if "%option%" == "-v" set /a "is___version=TRUE"
- if %is___version% equ %TRUE% (
- call :__version_handler
- exit /b %SUCCESS_EC%
- )
- set /a "is___help=FALSE"
- if "%option%" == "--help" set /a "is___help=TRUE"
- if "%option%" == "-h" set /a "is___help=TRUE"
- if %is___help% equ %TRUE% (
- call :__help_handler
- exit /b %SUCCESS_EC%
- )
- set /a "is___uninstall=FALSE"
- if "%option%" == "--uninstall" set /a "is___uninstall=TRUE"
- if "%option%" == "-u" set /a "is___uninstall=TRUE"
- if %is___uninstall% equ %TRUE% (
- set /a "is_uninstall=TRUE"
- set /a "i+=1"
- goto main_loop
- )
- echo %WRONG_OPTION_SPECIFIED_MSG%
- exit /b %WRONG_OPTION_SPECIFIED_EC%
- :main_loop_break
- if %is_uninstall% equ %TRUE% (
- if not exist "%directory%" (
- echo %BATCHTEMPLATE_IS_NOT_INSTALLED_MSG%
- exit /b %BATCHTEMPLATE_IS_NOT_INSTALLED_EC%
- )
- setlocal enabledelayedexpansion
- call setx PATH "%%PATH:%directory%=%%" > nul
- echo y| rd /s "%directory%" 2> nul > nul
- set /a "error_status=!errorlevel!"
- if !error_status! equ 0 (
- echo batchtemplate successfully uninstalled from %directory%.
- ) else (
- echo Unexpected error uccured. Possibly there is no access to %directory% folder or another process uses it. Please run installer as admin and kill processes use %directory% folder.
- )
- exit /b !error_status!
- )
- if exist "%directory%" (
- setlocal enabledelayedexpansion
- choice /m "Do you want reinstall batchtemplate in %directory%?"
- set /a "answer=!errorlevel!"
- if !answer! equ 2 (
- echo %BATCHTEMPLATE_REINSTALL_REJECTED_MSG%
- exit /b %BATCHTEMPLATE_REINSTALL_REJECTED_EC%
- )
- if !answer! equ 1 (
- echo y| rd /q /s "%directory%" 2> nul > nul
- set /a "error_status=!errorlevel!"
- if !error_status! neq 0 (
- echo Unexpected error uccured. Possibly there is no access to %directory% folder or another process uses it. Please run installer as admin and kill processes use %directory% folder.
- exit /b !error_status!
- )
- )
- )
- mkdir "%directory%"
- chdir "%directory%"
- certutil -decode "%self%" "%archive_name%" > nul
- 7z x "%archive_name%" > nul
- setx PATH "%directory%;%PATH%" > nul
- del /q "%archive_name%"
- exit /b %SUCCESS_EC%
- :init
- set /a "SUCCESS_EC=0"
- set /a "WRONG_OPTION_SPECIFIED_EC=1"
- set /a "SEVENZ_COMMAND_NOT_FOUND_EC=2"
- set /a "BATCHTEMPLATE_IS_NOT_INSTALLED_EC=3"
- set /a "BATCHTEMPLATE_REINSTALL_REJECTED_EC=4"
- set "WRONG_OPTION_SPECIFIED_MSG=Option you've passed is not recognized."
- set "SEVENZ_COMMAND_NOT_FOUND_MSG=7z command isn't found. Please install 7-Zip archiver."
- set "BATCHTEMPLATE_IS_NOT_INSTALLED_MSG=batchtemplate isn't installed to uninstall it."
- set "BATCHTEMPLATE_REINSTALL_REJECTED_MSG=batchtemplate reinstall is rejected."
- set /a "TRUE=0"
- set /a "FALSE=1"
- set "self=%~f0"
- set "directory=C:\Program Files\AlvinSeville7cfSoft\batchtemplate\"
- set "temp=temp.txt"
- set "archive_name=release.7z"
- set /a "is_uninstall=FALSE"
- 7z --help 2> nul > nul || (
- echo %SEVENZ_COMMAND_NOT_FOUND_MSG%
- exit /b %SEVENZ_COMMAND_NOT_FOUND_EC%
- )
- exit /b %SUCCESS_EC%
- :__version_handler
- echo 1.0 - 2021
- exit /b %SUCCESS_EC%
- :__help_handler
- echo Description:
- echo Installes or uninstalles batchtemplate script.
- echo.
- echo Syntax:
- echo - installer.bat [options]
- echo.
- echo Options:
- echo - -u^|--uninstall - specifies whether uninstallation is performed instead of installation
- echo.
- echo Examples:
- echo installer.bat --version
- echo installer.bat
- echo installer.bat --uninstall
- echo.
- echo Author:
- echo Alvin Seville ^<AlvinSeville7cf@gmail.com^>
- exit /b %SUCCESS_EC%
- -----BEGIN CERTIFICATE-----
- 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
- 1wEVBgEAIAAAAAAA
- -----END CERTIFICATE-----
Add Comment
Please, Sign In to add comment