Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
79 lines (63 sloc) 1.96 KB
@echo off
rem This is analogue for *nix "sudo" command
rem You may rename this file to "sudo.cmd" or use it "as is"
rem Example:
rem csudo dism /online /enable-feature /featurename:NetFX3 /All /Source:D:\sources\sxs /LimitAccess
rem Change options here:
rem Create new console in split or tab? Possible values: VERT, HORZ, NO
if not defined ConEmuSudoSplit set ConEmuSudoSplit=VERT
rem Show confirmation `Press Enter or Esc to close console...`
rem before automatic closing sudo console AFTER command exit
rem Possible values: YES, NO
if not defined ConEmuSudoConfirm set ConEmuSudoConfirm=YES
rem File `csudo_parms.cmd` is obsolete, prefer Environment page
rem You may override default settings in batch-file "csudo_parms.cmd"
if exist "%~dp0csudo_parms.cmd" call "%~dp0csudo_parms.cmd"
rem When possible - use Ansi Esc sequences to print errors
rem Let set "ESC" variable to char with code \x1B
set ESC=
rem It is 64-bit OS?
if not "%PROCESSOR_ARCHITECTURE%" == "AMD64" goto x32
rem First, try to use 64-bit ConEmuC
if exist "%~dp0ConEmuC64.exe" (
set ConEmuSrvPath="%~dp0ConEmuC64.exe"
goto run
rem Let use 32-bit ConEmuC
if exist "%~dp0ConEmuC.exe" (
set ConEmuSrvPath="%~dp0ConEmuC.exe"
goto run
rem Oops, csudo located in wrong folder
if "%ConEmuANSI%" == "ON" (
echo %ESC%[1;31;40mFailed to find ConEmuC.exe or ConEmuC64.exe!%ESC%[0m
) else (
echo Failed to find ConEmuC.exe or ConEmuC64.exe
exit 100
goto :EOF
rem Preparing switches
if /I "%ConEmuSudoSplit%" == "VERT" (
set SPLIT=sV
) else if /I "%ConEmuSudoSplit%" == "HORZ" (
set SPLIT=sH
) else (
set SPLIT=
if /I "%ConEmuSudoConfirm%" == "NO" (
set ConEmuNewCon=-new_console:an%SPLIT%
) else (
set ConEmuNewCon=-new_console:ac%SPLIT%
if "%~1" == "" (
rem There was no arguments, just start new ComSpec
%ConEmuSrvPath% /c %ComSpec% %ConEmuNewCon%
) else (
rem Start requested command
%ConEmuSrvPath% /c %* %ConEmuNewCon%
rem all done
You can’t perform that action at this time.