Adding an .exe to default path without adding the directory
For example, I want to add notepad++ to my PATH, however the directory also contains uninstall.exe
and several other files/executables and I don't want them to "pollute" my path. Can I just add the one notepad++.exe
?
You can add a batch script to a directory that is in your path, that looks something like this:
@echo off
:: Notepad++ execution
if [%1]==[-h] goto :HELP
if [%1]==[--help] goto :HELP
if [%1]==[/?] goto :HELP
goto :START
:START
start "" /i "%ProgramFiles(x86)%\notepad++\notepad++.exe" %*
goto :EOF
:HELP
echo -------------------------------
echo Notepad++ Command Argument Help
echo -------------------------------
echo Usage :
echo.
echo notepad++ [--help] [-multiInst] [-noPlugins] [-lLanguage] [-nLineNumber] [-cColumnNumber] [-xPos] [-yPos] [-nosession] [-notabbar] [-ro] [-systemtray] [-loadingTime] [fullFilePathName]
echo.
echo --help : This help message
echo -multiInst : Launch another Notepad++ instance
echo -noPlugins : Launch Notepad++ without loading any plugin
echo -l : Launch Notepad++ by applying indicated language to the file to open
echo -n : Launch Notepad++ by scrolling indicated line on the file to open
echo -c : Launch Notepad++ on scrolling indicated column on the file to open
echo -x : Launch Notepad++ by indicating its left side position on the screen
echo -y : Launch Notepad++ by indicating its top position on the screen
echo -nosession : Launch Notepad++ without any session
echo -notabbar : Launch Notepad++ without tabbar
echo -ro : Launch Notepad++ and make the file to open read only
echo -systemtray : Launch Notepad++ directly in system tray
echo -loadingTime : Display Notepad++ loading time
echo -alwaysOnTop : Make Notepad++ always on top
echo fullFilePathName : file name to open (absolute or relative path name)
echo.
goto :EOF
:EOF
You can name it notepad++.cmd
. The help section allows you to easily get information on the switches.
I put all such scripts and command line programs in a directory which is added to %PATH%
:
C:\Users\Public\Command\
...and that directory is synced to all computers and virtual machines.
Create a batch file with contents like the following:
@"C:\Program Files\Git\bin\git.exe" %*
This should be saved as a .bat
file, such as git.bat
in a directory that's in your PATH
.
@
suppresses echoing the command to the invoking shell. The quotations ""
prevent white space being interpreted as argument delimiters. %*
pastes any arguments to the batch file, to the quoted executable instead.
You can now invoke the executable using the part of the batch file name before .bat
. In my case, git
.
References:
- Adding Python to Windows path using a small batch file
- Adding Python to Windows path using a small batch file - forum thread