@echo off rem Usage example for your batch files rem call IsConEmu.cmd > nul rem if errorlevel 1 ( rem ... Your batch started out of ConEmu, simple command prompt rem ) else ( rem ... Your batch is running in active ConEmu window rem ) rem Don't change any env.variables outside of this batch setlocal rem For ANSI example you may set "YES" instead of "NO" set UseAnsi=NO if "%UseAnsi%"=="YES" goto TryAnsi rem Preferable way - use GuiMacro if exist "%~dp0ConEmuC.exe" ( call "%~dp0ConEmuC.exe" /GuiMacro IsConEmu > nul if errorlevel 1 goto showresult set ConEmuMacroResult=Yes goto showresult ) else if exist "%~dp0ConEmuC64.exe" ( call "%~dp0ConEmuC64.exe" /GuiMacro IsConEmu > nul if errorlevel 1 goto showresult set ConEmuMacroResult=Yes goto showresult ) else ( echo "%~dp0ConEmuC.exe" not found! exit /b 2 goto :EOF ) rem Ok, try ANSI set ConEmuMacroResult= set ESC= :TryAnsi rem Check if ANSI is enabled if not "%ConEmuANSI%"=="ON" ( echo ConEmu ANSI X3.64 was not enabled! exit /b 2 goto :EOF ) echo %ESC%[s%ESC%]9;6;"IsConEmu"%ESC%\%ESC%[u%ESC%[A :showresult if "%ConEmuMacroResult%"=="Yes" ( echo ConEmu found! exit /b 0 ) else ( echo ConEmu NOT found! exit /b 1 )