To add to josh's answer,
you may make the alias(es) persistent with the following steps,
- Create a .bat or .cmd file with your
DOSKEY
commands.
- Run regedit and go to
HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor
Add String Value entry with the name AutoRun
and the full path of your .bat/.cmd file.
For example, %USERPROFILE%alias.cmd
, replacing the initial segment of the path with %USERPROFILE%
is useful for syncing among multiple machines.
This way, every time cmd is run, the aliases are loaded.
For Windows 10, add the entry to HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor
instead.
For completeness, here is a template to illustrate the kind of aliases one may find useful.
@echo off
:: Temporary system path at cmd startup
set PATH=%PATH%;"C:Program FilesSublime Text 2"
:: Add to path by command
DOSKEY add_python26=set PATH=%PATH%;"C:Python26"
DOSKEY add_python33=set PATH=%PATH%;"C:Python33"
:: Commands
DOSKEY ls=dir /B
DOSKEY sublime=sublime_text $*
::sublime_text.exe is name of the executable. By adding a temporary entry to system path, we don't have to write the whole directory anymore.
DOSKEY gsp="C:Program Files (x86)Sketchpad5GSP505en.exe"
DOSKEY alias=notepad %USERPROFILE%Dropboxalias.cmd
:: Common directories
DOSKEY dropbox=cd "%USERPROFILE%Dropbox$*"
DOSKEY research=cd %USERPROFILE%DropboxResearch
- Note that the
$*
syntax works after a directory string as well as an executable which takes in arguments. So in the above example, the user-defined command dropbox research
points to the same directory as research
.
- As Rivenfall pointed out, it is a good idea to include a command that allows for convenient editing of the
alias.cmd
file. See alias
above. If you are in a cmd session, enter cmd
to restart cmd and reload the alias.cmd
file.
When I searched the internet for an answer to the question, somehow the discussions were either focused on persistence only or on some usage of DOSKEY only. I hope someone will benefit from these two aspects being together here!
Here's a .reg
file to help you install the alias.cmd
. It's set now as an example to a dropbox folder as suggested above.
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor]
"AutoRun"="%USERPROFILE%\alias.cmd"
For single-user applications, the above will do. Nevertheless, there are situations where it is necessary to check whether alias.cmd
exists first in the registry key. See example below.
In a C:UsersPublicinit.cmd
file hosting potentially cross-user configurations:
@ECHO OFF
REM Add other configurations as needed
IF EXIST "%USERPROFILE%alias.cmd" ( CALL "%USERPROFILE%alias.cmd" )
The registry key should be updated correspondly to C:UsersPublicinit.cmd
or, using the .reg
file:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USERSoftwareMicrosoftCommand Processor]
"AutoRun"="C:\Users\Public\init.cmd"
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…