Monday, April 12, 2010

Shell Utilities – Customize Run Commands

A pretty good feature i like in windows is the "Quick Launch bar", to which I got adding my frequently used applications, making it a pretty long one. As time went by my "Quick Launch" grew along and at last got fully packed, now every program shortcuts is vying to get into that precious space.


Finally time had come to look for other options, to get programs accessible in a short gesture. I Googled on this very trivial problem. The solutions that poured in had options varying from shortcut managers, keyboard combinations, hidden windows the list goes on and on. 


While moving through the start menu, the "Run" item, caught my attention. It was a like a eureka feeling, once i explored the possibilities that this little window offered, i was now sure this is the one which could solve my "Quick Launch" crowding dilemma. 


So we are going to straight away jump into the solution part and here we go.


My curiosity was, where does this commands for "Run" were stored in? After some research, i came up with a set of answers.


1. Registry
2. Path Environment Variable


Whenever we key in a text say "mspaint"(without quotes) into the "Run" dialog, it first probes for the exact term in windows registry under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths if not found, next it probes the locations\paths specified in the "PATH" environment variable. If didn't find in any of the above locations, it givesup and says "Sorry man, i didn't get you what you meant" (something similar)


Now lets create a handy command for Internet Explorer, which most of you might be using frequently as I do. Some of you might already know that, Internet Explorer has a command mapping named "iexplore"; i.e; if you key-in iexplore into the "Run" window, you can open up Internet Explorer. We are going to abbreviate it to just two letter, i.e; "IE"(without quotes), here how its done.


1. Fire-up windows registry (enter "regedit" inside "Run" window)
2. Navigate to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths
3. Under "App Paths", create a new "Key" named "ie.exe"
4. Select the newly created key "ie.exe"
5. On the right pane, you will find a "(Default)" key, double-click that.
6. Provide the absolute path of Internet Explorer.
Example: "C:\Program Files\Internet Explorer\IEXPLORE.EXE"

7. Click "OK" and you are Done.


Now open "Run" window and key in "IE"(without quotes) and press enter, hey its Internet Explorer in front of you.


Now lets see the other way to create custom Run commands. This is done by creating batch files with the command name of your choice, here i am going to show you how to create a custom Run command for Firefox browser with the command name "FF".


1. Open-up the Command Prompt
2. Key-in "PATH" (without quotes), now you will see a listing of locations set by different applications.
3. Goto any of the locations listed out by "PATH" variable. For time being, i am using the "system32" folder.
4. Create a batch file name "ff.bat"(without quotes)
5. Edit the batch file and specify the absolute path where the "firefox.exe" executable is located.
Example: "C:\Program Files\Mozilla Firefox\firefox.exe"
6. Save the batch file. You are done.


Now you can key-in "ff" (without quotes) into the "Run" window, to see firefox opening up.


I am sharing a list of custom commands which i had created for myself, Please make sure you create the registry mapping to get this working.


np Notepad
msp MS Paint
npp Notpad++
vs Visual Studio
ie Internet Explorer
ff Firefox
gc Google Chrome
xls Excel
doc Microsoft Word
ppt Microsoft Power Point
sqldb SQL Server Management Studio
odb Oracle SQL Developer
mpp Microsoft Project
sp Share Point Server
sc Source Control
mp Memory Profiler
pe Process Explorer
pm Process Monitor
ar AutoRuns
mail Microsoft Outlook
gimp Gimp Image Editor







Some days back my pc crashed and i had to  create all my custom commands from scratch, which itself was a quite lengthy and mundane one. I am now thinking of to come up with a free utility to automate this process and additionaly to export and import custom command settings. You can definitely expect this soon.



No comments: