The Redirection Symbols
As in MS-DOS and UNIX, Command Prompt sessions in Windows allow you to override the default source for input (the keyboard) or the default destination for output (the screen).
Redirecting Output To redirect output to a file, type the command followed by a greater than sign (>) and the name of the file. For example, to send the output of the Dir command to a file instead of the screen, type the following:
dir /b *.bat > batch.lst
This command line creates a file called Batch.lst that contains the names of all the .bat files in the current folder.
Using two greater than signs (>>) redirects output and appends it to an existing file. For example:
dir /b *.cmd >> batch.lst
This command line appends a list of .cmd files to the previously created file containing .bat files. (If you use >> to append to a file that doesn't exist, Windows creates the file.)
Redirecting Input To redirect input from a file, type the command followed by a less than sign (<) and the name of the file. The Sort and More commands are examples of commands that can accept input from a file. The following example uses Sort to filter the file created with the Dir command just shown:
sort < batch.lst
The input file, Batch.lst, contains a list of .bat files followed by a list of .cmd files (assuming you have some of each in the current folder). The output to the screen is the same list of files sorted alphabetically by file name.
Redirecting Input and Output You can redirect both input and output in a command line. For example, to use Batch.lst as input to the Sort command and send its output to a file named Sorted.lst, type the following:
sort < batch.lst > sorted.lst
Standard Output and Standard Error Programs can be written to send their output either to the standard output device or to the standard error device. Sometimes programs are written to send different types of output to each device. You can't always tell which is which because, by default, both devices are the screen.
The Type command illustrates the difference. When used with wildcards, the Type command sends the name of each matching file to the standard error device and sends the contents of the file to the standard output device. Because they both go to the screen, you see a nice display with each file name followed by its contents.
However, if you try to redirect output to a file like this:
type *.bat > std.out
the file names still appear on your screen because standard error is still directed to the screen. Only the file contents are redirected to Std.out.
Windows allows you to qualify the redirection symbol by preceding it with a number. Use 1> (or simply >) for standard output and 2> for standard error. For example:
type *.bat 2> err.out
This time the file contents go to the screen and the names are redirected to Err.out. You can redirect both to separate files with this command line:
type *.bat 2> err.out 1> std.out
In this tutorial:
- Working with the Command Prompt
- Starting and Ending a Command Prompt Session
- Easy ways to invoke administrator Command Prompt sessions
- Starting Command Prompt at a Particular Folder
- Strings with Spaces Need Quotes
- Cmd.exe vs. Command.com
- Commands Are Not Case Sensitive
- Starting Command Prompt and Running a Command
- Cmd.exe and Other Command Prompts
- Using AutoRun to Execute Commands When Command Prompt Starts
- Using Cmds Command-Line Syntax
- Using Commands
- Type /? for help
- Starting Programs
- Open Windows Explorer at the current Command Prompt folder
- Using File-Name and Folder-Name Completion
- Use a different completion character
- Using Wildcards
- Editing the Command Line
- Using Command Symbols
- The Redirection Symbols
- The Pipe Symbol
- The Command Combination Symbols
- Pausing or Canceling Commands
- Simplifying Command Entry with Doskey Macros
- DOSKEY Saves Typing
- System Variables Identify the Environment
- Viewing Environment Variables
- Modifying Environment Variables
- Predefined Environment Variables
- Customizing Command Prompt Windows
- Setting the Window Size and Position
- Setting the Window Size and Position Visually
- Selecting a Font
- Setting Colors
- Setting Other Options
- Copy and paste in the command prompt window
- Navigating from the command prompt
- Printing a list of filenames
- Commands Use Paths
- Identifying Executables
- Modifying the Path to Executables
- Modifying the Path with the GUI
- Changing the Current Path with CD
- Changing the Current Path with Windows Explorer
- Capturing the Output
- A Sampling of Commands
- Dir
- Copy
- XCopy
- SET
- NET USE
- SystemInfo
- DriverQuery
- Echo
- Advanced Shell Commands
- Creating a Batch File
- Scheduling a Batch File
- Creating Scheduled Tasks with a Script
- Using Windows PowerShell and the PowerShell ISE
- Windows PowerShell ISE
- PowerShell Commands
- Verbs and Nouns
- Sending Output to a Text File
- PowerShell Syntax
- Variables Created with a $ Symbol
- Comparison Operators
- Parentheses, Brackets, and Braces
- Running PowerShell Scripts
- PowerShell Execution Policy
- Changing the Execution Policy
- Looping
- Collections
- Creating a PowerShell Script
- Documenting Scripts
- Using PowerShell Commands
- Getting Help on PowerShell
- Using WMI_Cmdlets
- Getting Details on an Object
- Querying Information on Specific Objects
- Terminate Applications with Win32_process
- Formatting Output with the -f Format Operator
- Filtering the Output with the Where-Object Command
- Using the IF statement
- Using the Switch Statement
- Script Reusability