@echo off set ALIASES=%CMDER_ROOT%\config\aliases if ["%*"] == [""] echo Use /? for help & echo. & goto :p_show if ["%1"] == ["/?"] goto:p_help if ["%1"] == ["/reload"] goto:p_reload :: /d flag for delete existing alias if ["%1"] == ["/d"] goto:p_del %* if ["%2"] == [""] echo Insufficient parameters. & goto:p_help ::validate alias setlocal for /f "delims== tokens=1" %%G in ("%*") do set _temp2=%%G set _temp=%_temp2: =% if not ["%_temp%"] == ["%_temp2%"] ( echo Your alias name can not contain a space endlocal goto:eof ) :: replace already defined alias findstr /b /v /i "%_temp%=" "%ALIASES%" >> "%ALIASES%.tmp" echo %* >> "%ALIASES%.tmp" && type "%ALIASES%.tmp" > "%ALIASES%" & @del /f /q "%ALIASES%.tmp" doskey /macrofile="%ALIASES%" endlocal goto:eof :p_del findstr /b /v /i "%2=" "%ALIASES%" >> "%ALIASES%.tmp" type "%ALIASES%".tmp > "%ALIASES%" & @del /f /q "%ALIASES%.tmp" doskey /macrofile=%ALIASES% goto:eof :p_reload doskey /macrofile="%ALIASES%" echo Aliases reloaded goto:eof :p_show type "%ALIASES%" || echo No aliases found at "%ALIASES%" goto :eof :p_help echo.Usage: echo. alias name=full command echo. $* allows the alias to assume all the parameters of the supplied command. echo. $1-$9 Allows you to seperate parameter by number, much like %%1 in batch. echo. $T is the command seperator, allowing you to string several commands together into one alias. echo. For more information, read DOSKEY/?