Files
laragon/bin/cmder/vendor/conemu-maximus5/ConEmu/Cmd_Autorun.cmd
2025-10-05 17:33:37 +02:00

182 lines
4.7 KiB
Batchfile
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
@echo off
rem This (Cmd_Autorun /i) will install to the registry following keys
rem [HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
rem "AutoRun"="\"C:\\Program Files\\ConEmu\\ConEmu\\cmd_autorun.cmd\""
rem Which cause auto attaching to ConEmu each started cmd.exe or tcc.exe
rem If ConEmu (GUI) was not started yes, new instance will be started.
set FORCE_NEW_WND=NO
set FORCE_NEW_WND_CMD=
rem Detect our server executable
if defined PROCESSOR_ARCHITEW6432 goto x64
if "%PROCESSOR_ARCHITECTURE%"=="AMD64" goto x64
goto x86
:x64
set ConEmuC1="%~dp0ConEmuC64.exe"
set ConEmuC2="%~dp0ConEmuC.exe"
set ConEmuC3=ConEmuC64.exe
goto con_find
:x86
set ConEmuC1="%~dp0ConEmuC.exe"
set ConEmuC2="%~dp0ConEmuC.exe"
set ConEmuC3=ConEmuC.exe
goto con_find
:con_find
set ConEmuPath=%ConEmuC1%
if exist %ConEmuPath% goto con_found
set ConEmuPath=%ConEmuC2%
if exist %ConEmuPath% goto con_found
set ConEmuPath=%ConEmuC3%
if exist %ConEmuPath% goto con_found
set ConEmuPath=
goto notfound
:con_found
if "%~1"=="" goto noparm
goto checkparm
:noparm
rem AutoUpdate in progress?
if defined ConEmuInUpdate (
echo ConEmu auto update in progress, Cmd_Autorun skipped
goto fin
)
rem First, check ConEmuHWND variable, if it is absent - we are not in ConEmu
if "%ConEmuHWND%"=="" goto noconemu
rem But we also need to check, is console is really in ConEmu tab,
rem or just "ConEmuHWND" was set (or inherited) to any value?
call %ConEmuPath% /IsConEmu > nul
if errorlevel 2 goto noconemu
if errorlevel 1 goto conemufound
goto noconemu
:checkparm
if "%~1"=="/?" goto help
if "%~1"=="-?" goto help
if "%~1"=="--?" goto help
if "%~1"=="-help" goto help
if "%~1"=="--help" goto help
if "%~1"=="/i" goto install
if "%~1"=="-i" goto install
if "%~1"=="/u" goto uninstall
if "%~1"=="-u" goto uninstall
call :check_new "%~1"
rem Memorize...
rem "TERM" variable may be defined in OS.
rem rem <20>®¤ ⥫­¥â®¬ - ­¥ § ¯ã᪠âì!
rem rem TODO: IsTelnet
rem if not "%TERM%"=="" goto termfound
rem Memorize...
rem <20>஢¥à¨âì, ¬®¦¥â ConEmu 㦥 § ¯ã饭®?
rem Warning!!! <20>â® ­¥ à ¡®â ¥â, ¥á«¨ ¢ ConMan(!) 㪠§ ­
rem "CreateInNewEnvironment"=dword:00000001
rem <20>㦭® â ª:
rem REGEDIT4
rem [HKEY_CURRENT_USER\Software\HoopoePG_2x]
rem "CreateInNewEnvironment"=dword:00000000
:noconemu
set ConEmuHWND=
if exist %ConEmuPath% goto srv_ok
goto notfound
:srv_ok
rem Message moved to ConEmuC.exe
rem echo ConEmu autorun (c) Maximus5
rem echo Starting %ConEmuPath% in "Async Attach" mode (/GHWND=NEW)
call %ConEmuPath% /AUTOATTACH %FORCE_NEW_WND_CMD%
rem echo errorlevel=%errorlevel%
rem Issue 1003: Non zero exit codes leads to problems in some applications...
rem if errorlevel 132 if not errorlevel 133 goto rc_nocon
rem if errorlevel 121 if not errorlevel 122 goto rc_ok
rem echo ConEmu attach failed
goto fin
:rc_nocon
rem This occurs while VS build or run from telnet
rem echo ConEmu attach not available (no console window)
goto fin
:rc_ok
rem echo ConEmu attach succeeded
goto fin
:notfound
Echo ConEmu not found! "%~dp0ConEmuC.exe"
goto fin
:gui_notfound
Echo ConEmu not found! "%~dp0..\ConEmu.exe"
goto fin
:termfound
Echo ConEmu can not be started under Telnet!
goto fin
:conemufound
rem Echo ConEmu already started (%ConEmuHWND%)
goto fin
:help
echo ConEmu autorun (c) Maximus5
echo Usage
echo cmd_autorun.cmd /? - displays this help
echo cmd_autorun.cmd /i - turn ON ConEmu autorun for cmd.exe
echo cmd_autorun.cmd /u - turn OFF ConEmu autorun
goto fin
:install
call :check_new "%~2"
set ConEmuPath="%~dp0..\ConEmu.exe"
if exist %ConEmuPath% goto install_found
set ConEmuPath="%~dp0ConEmu.exe"
if exist %ConEmuPath% goto install_found
set ConEmuPath="%~dp0..\ConEmu64.exe"
if exist %ConEmuPath% goto install_found
set ConEmuPath="%~dp0ConEmu64.exe"
if exist %ConEmuPath% goto install_found
goto gui_notfound
:install_found
echo ConEmu autorun (c) Maximus5
echo Enabling autorun (NewWnd=%FORCE_NEW_WND%)
call %ConEmuPath% /autosetup 1 "%~0" %FORCE_NEW_WND_CMD%
goto CheckRet
:uninstall
set ConEmuPath="%~dp0..\ConEmu.exe"
if exist %ConEmuPath% goto uninstall_found
set ConEmuPath="%~dp0ConEmu.exe"
if exist %ConEmuPath% goto uninstall_found
set ConEmuPath="%~dp0..\ConEmu64.exe"
if exist %ConEmuPath% goto uninstall_found
set ConEmuPath="%~dp0ConEmu64.exe"
if exist %ConEmuPath% goto uninstall_found
goto gui_notfound
:uninstall_found
echo ConEmu autorun (c) Maximus5
echo Disabling autorun
call %ConEmuPath% /autosetup 0
goto CheckRet
:check_new
if "%~1"=="/GHWND=NEW" set FORCE_NEW_WND=YES
if "%~1"=="/NEW" set FORCE_NEW_WND=YES
if "%FORCE_NEW_WND%"=="YES" set FORCE_NEW_WND_CMD="/GHWND=NEW"
goto fin
:CheckRet
if errorlevel 2 echo ConEmu failed
if errorlevel 1 echo All done
goto fin
:fin
rem Issue 1003: Non zero exit codes leads to problems in some applications...
exit /B 0