Changing the Path
You can change the search path in two ways: First, you can set a new value for the path environment variable using the set command, as in this example:
set path=c:\batchfiles
Second, you can use the "shortcut" command, as shown here:
path c:\batchfiles
Both have the same effect:They set the environment variable path to c:\batchfiles, so CMD only looks for programs in this folder.This is probably not a good idea, though, because it removes the Windows folders from the path and makes all the standard command-line programs unavailable.
Note: The path and set commands only change environment variables for the current, running instance of the CMD program. If you open a new Command Prompt window, you are back to the original, default values.
If you want to make a permanent change to path or any other environment variable so that the change appears in all future CMD prompt windows, you need to make the change on the System Properties dialog box, as I discuss later in the tutorial under "Setting Default Environment Variables." Alternatively, you can use a script.
Most of the time, what you need to do is add a new folder to the existing path list, usually at the beginning, so that any batch files you write or new programs you install can be run just by typing their name.This is a particularly good time to use environment variable substitution and is such a common thing to do that it's a pattern.
Pattern
To add a directory to the beginning of the search path, use the following statement:
set path=directorypath;%path%
Here, directorypath should be the fully qualified folder name. Here's an example:
set path=c:\batchfiles;%path%
When CMD encounters this command-that is, if you type it at the command line or in a batch file- CMD first replaces the text %path% with the current value of PATH, so the command turns into this:
set path=c:\batchfiles;c:\windows\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem; ...
Now, the new path starts with c:\batchfiles but still includes the standard Windows folders. If you place a batch file named test.bat in c:\batchfiles, and then type test on the command line, your batch file runs.
You could also add a new folder to the end of the search path with a statement like this:
set path=%path%;c:\batchfiles
The ordering only matters if there are versions of the same command in more than one folder in the path; the version in the first folder to be searched is the one that Windows runs.
Tip If you mess up the path with one of these commands and CMD stops working, just close the Command Prompt window and open another. This restores the path to the default setting.
Putting your own folders ahead of the Windows folders in the list can be a blessing or a curse. If you create a program or batch file with the same name as a standard Windows program, yours runs instead of the standard program. If this is what you want, great, but if not...the result can be confusing.
In this tutorial:
- The CMD Command-Line
- CMD Versus COMMAND
- Running CMD
- Opening a Command Prompt Window with Administrator Privileges
- CMD Options
- Disabling Command Extensions
- Command-Line Processing
- Console Program Input and Output
- Using the Console Window
- I/O Redirection and Pipes
- Copy and Paste in Command Prompt Windows
- Command Editing and the History List
- Name Completion
- Enabling Directory Name Completion
- Multiple Commands on One Line
- Grouping Commands with Parentheses
- Arguments, Commas, and Quotes
- Escaping Special Characters
- Configuring the CMD Program
- The Search Path
- Changing the Path
- Predefined and Virtual Environment Variables
- Setting Default Environment Variables
- Built-in Commands
- Extended Commands
- Listing Files with the Dir Command
- Paginating Long Listings
- Printing Directory Listings
- Sorting Listings
- Locating Alternate File Streams
- Setting Variables with the Set Command
- Conditional Processing with the if Command
- Scanning for Files with the for Command
- Using the for Command's Variable
- Processing Directories
- Numerical for Loop
- Getting More Information