Add an unalias command

Add bin/unalias.bat to perform the opposite action of alias.bat.
Removes a given alias from the current shell environment and the
aliases file.

Fixes issue #281.
This commit is contained in:
Greg Lucas 2014-11-11 10:40:57 -05:00
parent 25991ac6a1
commit 79fbae0854

28
bin/unalias.bat Normal file
View File

@ -0,0 +1,28 @@
@echo off
if ["%1"] == ["/?"] goto:p_help
if ["%1"] == [""] echo Insufficient parameters. & goto:p_help
setlocal
:: Check if alias exists
doskey /macros | findstr /b %1= >NUL || goto :p_not_found
:: Remove alias from current shell
doskey %1=
:: Remove alias from aliases file
copy /y "%CMDER_ROOT%\config\aliases" "%TEMP%\aliases.prev" >NUL
type "%TEMP%\aliases.prev" | findstr /b /v %1= > "%CMDER_ROOT%\config\aliases"
echo Alias removed
endlocal
goto:eof
:p_not_found
echo Alias not defined.
goto:eof
:p_help
echo.Usage:
echo. unalias name
echo. For more information, read DOSKEY/?