I have added notepad++.exe
to my Path in environment variables.
Now in command prompt, notepad++.exe filename.txt
opens the filename.txt
. But I want to do just np filename.txt
to open the file.
I tried using DOSKEY np=notepad++
. But it is just bringing to the forefront an already opened Notepad++ without opening the file. How can I make it open the file?
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_USER\Software\Microsoft\Command 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 or Windows 11, add the entry to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Command Processor
instead.
(For Windows 11, also note that by default the "Terminal App" points to PowerShell. Search "cmd" for command prompt.)
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 Files\Sublime 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)\Sketchpad5\GSP505en.exe"
DOSKEY alias=notepad %USERPROFILE%\Dropbox\alias.cmd
:: Common directories
DOSKEY dropbox=cd "%USERPROFILE%\Dropbox\$*"
DOSKEY research=cd %USERPROFILE%\Dropbox\Research\
$*
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
.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_USER\Software\Microsoft\Command 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:\Users\Public\init.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:\Users\Public\init.cmd
or, using the .reg
file:
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Microsoft\Command Processor]
"AutoRun"="C:\\Users\\Public\\init.cmd"