Where should non MS command line tools be placed in Windows? [duplicate]

There is no official place for third-party programs. Your file system is yours to use as you please, but I would recommend against putting them in OS-critical places like \Windows or \Windows\System32.

My recommendation is to create a subfolder of your user profile, say \Users\Ben\Tools, and put your stuff there. Then, type "edit environment" in your Start box or Start screen, and select Edit environment variables for your account. (On Windows XP, this is in the Advanced part of System Properties.)

environment variables editor

If the top box (per-user variables) contains PATH, press Edit. Append a semicolon and then the full path to your tools folder. If you don't already have PATH, press New, and fill it out appropriately.

adding the PATH variable

If you want this change to apply to all users, place the tools folder in a publicly accessible location (\Tools works) and update the PATH variable in the "System variables" list rather than the per-user one.

You may need to log off and back on before that folder will effectively be ubiquitous.


This is your own computer? so some rule has what value? You already understand the path and the messes already there with the pigpiles and path additions, how could any of that be worse than what you think up to organise it :-)

I tend to put small utilities and commands in folders I designated for such things and actually not far down from the root of C because it is likely I will be using them in batches where the full path for the item is used every time, with no changes or dependancy on the path variables. With no dependancy on about anything. I also will have made icons and use a 3rd party toolbars to access the stuff quickly.

Half the point of good tight small programs is they can be backed-up (as files) without cross links and registry entries , they do not toss more path noise in, and operate without tons of dependencies. They run fast because they are small and tight, they run out of anywhere. Many of Utilities of the small non-dependant type are useful for diagnosing problems with the computer, no mater what is wrong, so I feel quick access to them is very important, because of that I avoid putting this grouping of programs where if things go badly they are not accessable.

The scripts/batches used for them could easily be stored in the same locations , and then CD (current directory) in the batches would work out of those locations (note, I said I use full paths). Running a CMD (context menu) out of the current directory another method to avoid paths. Determine the ammount of these utils, set up an organisation that you can live with, back-up (simply) that grouping and stuff the rules :-)

MS has not completely taken away our ability to have stuff simple and fast Yet!

I have used folders names of Tools, Utils, Desk, Diag (for diagnostics) in the root forever for the tiny utils, many of those are subfoldered to keep a programs parts and pieces all contained. It has not failed yet.