Merged Console and Program sections

* BREAKING: This uses a new L_TYPE: Executable
  * Added new L__CLI variable to run inside ConEmu
This commit is contained in:
Alan Mason 2017-11-22 16:45:11 -08:00
parent 19f744f8f8
commit c4b768e114
4 changed files with 85 additions and 130 deletions

View file

@ -62,13 +62,15 @@ if not defined L_ITEM (goto Usage)
rem Assume if not "True" then False (i.e. undefine variable)
if /i not "%L_ELEV%" == "True" (set "L_ELEV=")
if /i not "%L_NCMD%" == "True" (set "L_NCMD=")
if /i not "%L__CLI%" == "True" (set "L__CLI=")
:RelaunchInConEmu
set RELOAD_IN_CONEMU=True
if defined ConEmuBuild set "RELOAD_IN_CONEMU="
if defined L_NCMD set "RELOAD_IN_CONEMU="
if "%L_TYPE%" == "PSScript" set "RELOAD_IN_CONEMU="
if "%L_TYPE%" == "PyScript" set "RELOAD_IN_CONEMU="
if defined ConEmuBuild set "RELOAD_IN_CONEMU="
if defined L_NCMD set "RELOAD_IN_CONEMU="
if "%L_TYPE%" == "Executable" set "RELOAD_IN_CONEMU="
if "%L_TYPE%" == "PSScript" set "RELOAD_IN_CONEMU="
if "%L_TYPE%" == "PyScript" set "RELOAD_IN_CONEMU="
if defined RELOAD_IN_CONEMU (
set "con_args=-new_console:n"
@ -80,16 +82,15 @@ if defined RELOAD_IN_CONEMU (
:CheckLaunchType
rem Jump to the selected launch type or show usage
if /i "%L_TYPE%" == "Console" (goto LaunchConsole)
if /i "%L_TYPE%" == "Executable" (goto LaunchExecutable)
if /i "%L_TYPE%" == "Folder" (goto LaunchFolder)
if /i "%L_TYPE%" == "Office" (goto LaunchOffice)
if /i "%L_TYPE%" == "QuickBooks" (goto LaunchQuickBooksSetup)
if /i "%L_TYPE%" == "Program" (goto LaunchProgram)
if /i "%L_TYPE%" == "PSScript" (goto LaunchPSScript)
if /i "%L_TYPE%" == "PyScript" (goto LaunchPyScript)
if /i "%L_TYPE%" == "QuickBooks" (goto LaunchQuickBooksSetup)
goto Usage
:LaunchConsole
:LaunchExecutable
rem Prep
call :ExtractOrFindPath || goto ErrorProgramNotFound
@ -100,15 +101,16 @@ if %ARCH% equ 64 (
)
if not exist "%prog%" goto ErrorProgramNotFound
rem Run program
rem Run
popd && pushd "%_path%"
if defined L_NCMD (
goto LaunchConsoleNative
if defined L__CLI goto LaunchExecutableCLI
if defined L_ELEV (
goto LaunchExecutableElev
) else (
goto LaunchConsoleConEmu
goto LaunchExecutableUser
)
:LaunchConsoleConEmu
:LaunchExecutableCLI
rem Prep
set "con_args=-new_console:n"
if defined DEBUG (set "con_args=%con_args% -new_console:c")
@ -118,7 +120,21 @@ rem Run
start "" "%CON%" -run "%prog%" %L_ARGS% %con_args% || goto ErrorUnknown
goto Exit
:LaunchConsoleNative
:LaunchExecutableElev
rem Prep
call :DeQuote prog
call :DeQuote L_ARGS
rem Create VB script
mkdir "%bin%\tmp" 2>nul
echo Set UAC = CreateObject^("Shell.Application"^) > "%bin%\tmp\Elevate.vbs"
echo UAC.ShellExecute "%prog%", "%L_ARGS%", "", "runas", 1 >> "%bin%\tmp\Elevate.vbs"
rem Run
"%systemroot%\System32\cscript.exe" //nologo "%bin%\tmp\Elevate.vbs" || goto ErrorUnknown
goto Exit
:LaunchExecutableUser
rem Run
start "" "%prog%" %L_ARGS% || goto ErrorUnknown
goto Exit
@ -197,44 +213,6 @@ if exist "%dest%\%product_name%\setup.exe" (
)
goto Exit
:LaunchProgram
rem Prep
call :ExtractOrFindPath || goto ErrorProgramNotFound
rem Check for 64-bit prog (if running on 64-bit system)
set "prog=%_path%\%L_ITEM%"
if %ARCH% equ 64 (
if exist "%_path%\%L_ITEM:.=64.%" set "prog=%_path%\%L_ITEM:.=64.%"
)
if not exist "%prog%" goto ErrorProgramNotFound
rem Run
popd && pushd "%_path%"
if defined L_ELEV (
goto LaunchProgramElev
) else (
goto LaunchProgramUser
)
:LaunchProgramElev
rem Prep
call :DeQuote prog
call :DeQuote L_ARGS
rem Create VB script
mkdir "%bin%\tmp" 2>nul
echo Set UAC = CreateObject^("Shell.Application"^) > "%bin%\tmp\Elevate.vbs"
echo UAC.ShellExecute "%prog%", "%L_ARGS%", "", "runas", 1 >> "%bin%\tmp\Elevate.vbs"
rem Run
"%systemroot%\System32\cscript.exe" //nologo "%bin%\tmp\Elevate.vbs" || goto ErrorUnknown
goto Exit
:LaunchProgramUser
rem Run
start "" "%prog%" %L_ARGS% || goto ErrorUnknown
goto Exit
:LaunchPSScript
rem Prep
call :ExtractOrFindPath || goto ErrorProgramNotFound
@ -482,10 +460,10 @@ goto Abort
:Abort
rem Handle color theme for both the native console and ConEmu
if defined L_NCMD (
color 4e
) else (
if defined ConEmuBuild (
color c4
) else (
color 4e
)
echo Aborted.
echo.
@ -493,8 +471,10 @@ echo DETAILS: L_TYPE: %L_TYPE%
echo. L_PATH: %L_PATH%
echo. L_ITEM: %L_ITEM%
echo. L_ARGS: %L_ARGS%
echo. L_7ZIP: %L_7ZIP%
echo. L_ELEV: %L_ELEV%
echo. L_NCMD: %L_NCMD%
echo. L__CLI: %L__CLI%
echo. CON: %CON%
echo. DEBUG: %DEBUG%
echo. PYTHON: %PYTHON%

View file

@ -22,6 +22,7 @@ set L_TYPE=
set L_PATH=
set L_ITEM=
set L_ARGS=
set L__CLI=
set L_7ZIP=
set L_ELEV=
set L_NCMD=

View file

@ -180,7 +180,6 @@ def scan_for_net_installers(server, family_name, min_year):
'L_TYPE': family_name,
'L_PATH': year.name,
'L_ITEM': version.name,
'L_CHCK': 'True',
}
umount_network_share(server)

View file

@ -40,28 +40,29 @@ LAUNCHERS = {
},
r'Data Recovery': {
'PhotoRec (CLI)': {
'L_TYPE': 'Console',
'L_TYPE': 'Executable',
'L_PATH': 'TestDisk',
'L_ITEM': 'photorec_win.exe',
'L_ELEV': 'True',
'L__CLI': 'True',
},
'PhotoRec': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'TestDisk',
'L_ITEM': 'qphotorec_win.exe',
'L_ELEV': 'True',
'L_NCMD': 'True',
},
'TestDisk': {
'L_TYPE': 'Console',
'L_TYPE': 'Executable',
'L_PATH': 'TestDisk',
'L_ITEM': 'testdisk_win.exe',
'L_ELEV': 'True',
'L__CLI': 'True',
},
},
r'Data Transfers': {
'FastCopy (as ADMIN)': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'FastCopy',
'L_ITEM': 'FastCopy.exe',
'L_ARGS': (
@ -104,13 +105,12 @@ LAUNCHERS = {
r' /to=%client_dir%\Transfer_%iso_date%\ '
),
'L_ELEV': 'True',
'L_NCMD': 'True',
'Extra Code': [
r'call "%bin%\Scripts\init_client_dir.cmd" /Info /Transfer',
],
},
'FastCopy': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'FastCopy',
'L_ITEM': 'FastCopy.exe',
'L_ARGS': (
@ -152,13 +152,12 @@ LAUNCHERS = {
r'Thumbs.db'
r' /to=%client_dir%\Transfer_%iso_date%\ '
),
'L_NCMD': 'True',
'Extra Code': [
r'call "%bin%\Scripts\init_client_dir.cmd" /Info /Transfer',
],
},
'KVRT': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'KVRT',
'L_ITEM': 'KVRT.exe',
'L_ARGS': (
@ -168,7 +167,6 @@ LAUNCHERS = {
r' -dontcryptsupportinfo'
r' -fixednames'
),
'L_NCMD': 'True',
'Extra Code': [
r'call "%bin%\Scripts\init_client_dir.cmd" /Quarantine',
r'set "q_dir=%client_dir%\Quarantine\KVRT"',
@ -188,27 +186,24 @@ LAUNCHERS = {
'L_ELEV': 'True',
},
'XYplorer (as ADMIN)': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'XYplorerFree',
'L_ITEM': 'XYplorerFree.exe',
'L_ARGS': r'/exp /win=max %userprofile%',
'L_ELEV': 'True',
'L_NCMD': 'True',
},
'XYplorer': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'XYplorerFree',
'L_ITEM': 'XYplorerFree.exe',
'L_ARGS': r'/exp /win=max %userprofile%',
'L_NCMD': 'True',
},
},
r'Diagnostics': {
'HWiNFO': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'HWiNFO',
'L_ITEM': 'HWiNFO.exe',
'L_NCMD': 'True',
'Extra Code': [
r'for %%a in (32 64) do (',
r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
@ -218,11 +213,10 @@ LAUNCHERS = {
],
},
'ProduKey': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'ProduKey',
'L_ITEM': 'ProduKey.exe',
'L_ELEV': 'True',
'L_NCMD': 'True',
'Extra Code': [
r'if exist "%bin%\ProduKey" (',
r' del "%bin%\ProduKey\ProduKey.cfg" 2>nul',
@ -233,17 +227,15 @@ LAUNCHERS = {
},
r'Diagnostics\Extras': {
'AIDA64': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'AIDA64',
'L_ITEM': 'aida64.exe',
'L_NCMD': 'True',
},
'Autoruns (with VirusTotal Scan)': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'Autoruns',
'L_ITEM': 'Autoruns.exe',
'L_ARGS': '-e',
'L_NCMD': 'True',
'Extra Code': [
r'reg add HKCU\Software\Sysinternals\AutoRuns /v checkvirustotal /t REG_DWORD /d 1 /f >nul',
r'reg add HKCU\Software\Sysinternals\AutoRuns /v EulaAccepted /t REG_DWORD /d 1 /f >nul',
@ -258,43 +250,38 @@ LAUNCHERS = {
],
},
'BleachBit': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'BleachBit',
'L_ITEM': 'bleachbit.exe',
'L_NCMD': 'True',
},
'BlueScreenView': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'BlueScreenView',
'L_ITEM': 'BlueScreenView.exe',
'L_ELEV': 'True',
'L_NCMD': 'True',
},
'ERUNT': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'erunt',
'L_ITEM': 'ERUNT.EXE',
'L_ARGS': '%log_dir%\Registry sysreg curuser otherusers',
'L_ELEV': 'True',
'L_NCMD': 'True',
'Extra Code': [
r'call "%bin%\Scripts\init_client_dir.cmd" /Info',
],
},
'HitmanPro': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'HitmanPro',
'L_ITEM': 'HitmanPro.exe',
'L_NCMD': 'True',
'Extra Code': [
r'call "%bin%\Scripts\init_client_dir.cmd" /Info',
],
},
'HWiNFO (Sensors)': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'HWiNFO',
'L_ITEM': 'HWiNFO.exe',
'L_NCMD': 'True',
'Extra Code': [
r'for %%a in (32 64) do (',
r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
@ -306,11 +293,10 @@ LAUNCHERS = {
},
r'Drivers': {
'Intel RST (Current Release)': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': '_Drivers\Intel RST',
'L_ITEM': 'SetupRST_15.8.exe',
'L_7ZIP': 'SetupRST_15.8.exe',
'L_NCMD': 'True',
},
'Intel RST (Previous Releases)': {
'L_TYPE': 'Folder',
@ -319,30 +305,26 @@ LAUNCHERS = {
'L_NCMD': 'True',
},
'Intel SSD Toolbox': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': r'_Drivers\Intel SSD Toolbox',
'L_ITEM': 'Intel SSD Toolbox.exe',
'L_NCMD': 'True',
},
'Samsing Magician': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': r'_Drivers\Samsung Magician',
'L_ITEM': 'Samsung Magician.exe',
'L_NCMD': 'True',
},
'Snappy Driver Installer Origin': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': '_Drivers\SDIO',
'L_ITEM': 'SDIO.exe',
'L_NCMD': 'True',
},
},
r'Drivers\Extras': {
'Acer': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'HWiNFO',
'L_ITEM': 'HWiNFO.exe',
'L_NCMD': 'True',
'Extra Code': [
r'for %%a in (32 64) do (',
r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
@ -353,10 +335,9 @@ LAUNCHERS = {
],
},
'Lenovo': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'HWiNFO',
'L_ITEM': 'HWiNFO.exe',
'L_NCMD': 'True',
'Extra Code': [
r'for %%a in (32 64) do (',
r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
@ -367,10 +348,9 @@ LAUNCHERS = {
],
},
'Toshiba': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'HWiNFO',
'L_ITEM': 'HWiNFO.exe',
'L_NCMD': 'True',
'Extra Code': [
r'for %%a in (32 64) do (',
r' copy /y "%bin%\HWiNFO\general.ini" "%bin%\HWiNFO\HWiNFO%%a.ini"',
@ -394,21 +374,25 @@ LAUNCHERS = {
'L_TYPE': 'Office',
'L_PATH': '2013',
'L_ITEM': 'hb_32.xml',
'L_NCMD': 'True',
},
'Home and Business 2013 (x64)': {
'L_TYPE': 'Office',
'L_PATH': '2013',
'L_ITEM': 'hb_64.xml',
'L_NCMD': 'True',
},
'Home and Student 2013 (x32)': {
'L_TYPE': 'Office',
'L_PATH': '2013',
'L_ITEM': 'hs_32.xml',
'L_NCMD': 'True',
},
'Home and Student 2013 (x64)': {
'L_TYPE': 'Office',
'L_PATH': '2013',
'L_ITEM': 'hs_64.xml',
'L_NCMD': 'True',
},
},
r'Installers\Extras\Office\2016': {
@ -416,73 +400,73 @@ LAUNCHERS = {
'L_TYPE': 'Office',
'L_PATH': '2016',
'L_ITEM': 'hb_32.xml',
'L_NCMD': 'True',
},
'Home and Business 2016 (x64)': {
'L_TYPE': 'Office',
'L_PATH': '2016',
'L_ITEM': 'hb_64.xml',
'L_NCMD': 'True',
},
'Home and Student 2016 (x32)': {
'L_TYPE': 'Office',
'L_PATH': '2016',
'L_ITEM': 'hs_32.xml',
'L_NCMD': 'True',
},
'Home and Student 2016 (x64)': {
'L_TYPE': 'Office',
'L_PATH': '2016',
'L_ITEM': 'hs_64.xml',
'L_NCMD': 'True',
},
'Office 365 2016 (x32)': {
'L_TYPE': 'Office',
'L_PATH': '2016',
'L_ITEM': '365_32.xml',
'L_NCMD': 'True',
},
'Office 365 2016 (x64)': {
'L_TYPE': 'Office',
'L_PATH': '2016',
'L_ITEM': '365_64.xml',
'L_NCMD': 'True',
},
},
r'Misc': {
'ConEmu (as ADMIN)': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'ConEmu',
'L_ITEM': 'ConEmu.exe',
'L_ELEV': 'True',
'L_NCMD': 'True',
},
'ConEmu': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'ConEmu',
'L_ITEM': 'ConEmu.exe',
'L_NCMD': 'True',
},
'Everything': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'Everything',
'L_ITEM': 'Everything.exe',
'L_ARGS': '-nodb',
'L_ELEV': 'True',
'L_NCMD': 'True',
},
'Notepad++': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'notepadplusplus',
'L_ITEM': 'notepadplusplus.exe',
'L_NCMD': 'True',
},
'PuTTY': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'PuTTY',
'L_ITEM': 'PUTTY.EXE',
'L_NCMD': 'True',
},
'TreeSizeFree': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'TreeSizeFree',
'L_ITEM': 'TreeSizeFree.exe',
'L_ELEV': 'True',
'L_NCMD': 'True',
},
'Update Kit': {
'L_TYPE': 'PyScript',
@ -490,26 +474,23 @@ LAUNCHERS = {
'L_ITEM': 'update_kit.py',
},
'XMPlay': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'XMPlay',
'L_ITEM': 'xmplay.exe',
'L_ARGS': '"%bin%\XMPlay\music.7z"',
'L_NCMD': 'True',
},
},
r'Repairs': {
'AdwCleaner': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'AdwCleaner',
'L_ITEM': 'AdwCleaner.exe',
'L_NCMD': 'True',
},
'Autoruns': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'Autoruns',
'L_ITEM': 'Autoruns.exe',
'L_ARGS': '-e',
'L_NCMD': 'True',
'Extra Code': [
r'reg add HKCU\Software\Sysinternals\AutoRuns /v checkvirustotal /t REG_DWORD /d 0 /f >nul',
r'reg add HKCU\Software\Sysinternals\AutoRuns /v EulaAccepted /t REG_DWORD /d 1 /f >nul',
@ -534,10 +515,9 @@ LAUNCHERS = {
'L_PATH': 'Scripts',
'L_ITEM': 'dism.py',
'L_ELEV': 'True',
'L_NCMD': 'TRUE',
},
'KVRT': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'KVRT',
'L_ITEM': 'KVRT.exe',
'L_ARGS': (
@ -547,7 +527,6 @@ LAUNCHERS = {
r' -dontcryptsupportinfo'
r' -fixednames'
),
'L_NCMD': 'True',
'Extra Code': [
r'call "%bin%\Scripts\init_client_dir.cmd" /Quarantine',
r'set "q_dir=%client_dir%\Quarantine\KVRT"',
@ -555,10 +534,9 @@ LAUNCHERS = {
],
},
'RKill': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'RKill',
'L_ITEM': 'RKill.exe',
'L_NCMD': 'True',
'Extra Code': [
r'call "%bin%\Scripts\init_client_dir.cmd" /Info',
],
@ -568,10 +546,9 @@ LAUNCHERS = {
'L_PATH': 'Scripts',
'L_ITEM': 'sfc_scan.py',
'L_ELEV': 'True',
'L_NCMD': 'True',
},
'TDSSKiller': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'TDSSKiller',
'L_ITEM': 'TDSSKiller.exe',
'L_ARGS': (
@ -582,7 +559,6 @@ LAUNCHERS = {
r' -dcexact'
r' -tdlfs'
),
'L_NCMD': 'True',
'Extra Code': [
r'call "%bin%\Scripts\init_client_dir.cmd" /Quarantine',
r'set "q_dir=%client_dir%\Quarantine\TDSSKiller"',
@ -592,10 +568,9 @@ LAUNCHERS = {
},
r'Uninstallers': {
'IObit Uninstaller': {
'L_TYPE': 'Program',
'L_TYPE': 'Executable',
'L_PATH': 'IObitUninstallerPortable',
'L_ITEM': 'IObitUninstallerPortable.exe',
'L_NCMD': 'True',
},
},
}