Printing a list of filenames
Perhaps the one thing that the DOS command has that Explorer doesn't is the ability to easily print a list of filenames from any folder, or even a parent folder and all its subfolders. Though you can print directly by following any command with >prn, I am sure most people would prefer to get that list into a Word or WordPad document. From there you can edit and sort the filename list to your liking, and then print it.
You'll use the dir command to list the filenames. You may find some of the following optional switches useful for controlling how dir displays its output:
- /s- Include filenames from subfolders
- /b- Display filenames in bare format (no headings or summary)
- /w - Show in wide format
- /d- Same as wide, but sorted by columns
- /n- Use long list format with filenames to the far right
- /l- Use lowercase letters
- /o- Sort output by column as follows: N (by name), S (by size), E (by extension), D (by date),
- (prefix for descending sort), G (group folder names first)
As an example of using the /o switch, the command dir /on lists filenames in ascending alphabetical order. The command dir /o-s lists filenames by size, in descending order.
Let's look at a practical example. Suppose that you've used Windows Media Player to copy lots of CDs to your Music folder. The songs are organized into folders by artist and album. But you want a list of all song filenames, from all the subfolders.
Step 1 is to get to the parent folder of all the files you want to list. The DOS command would be cd followed by the full path to that folder. For example, cd C:\ Users\yourUserName\Music where yourUserName is the name of your user account.
Next, you need to enter a dir command with the /s switch to list the filenames from all the subfolders. You can use any other switches in combination with /s. For example, here's a dir command that lists all the filenames in bare format:
dir /b /s
Here's one that lists files in the columnar wide format with filenames listed alphabetically by name:
dir /d /on /s
You can try out various DOS commands to see which presents the most reasonable list of filenames. Then, when you get a decent list, enter that command again, but follow it with >filename.txt where filename is any name of your choosing. The file will be stored in whatever folder you're currently in. For this example, I will use SongList.txt as the filename. So, you might enter a command like this at the command prompt:
dir /d /on /s >SongList.txt
You won't get any feedback on the screen after you redirect the output to a file. You can just exit the Command Prompt window. Then use Windows Explorer to navigate to the folder from which you ran the dir command. You'll find your SongList.txt file there. Right-click it and choose Open With → Microsoft Word (or whatever program you want to use to edit the file).
Tip To quickly open a text from a DOS prompt, type the command notepad file.txt, where file.txt is the name of the text file you want to open.
The list will look exactly like DOS output, which might not be ideal. But if you know how to use the program, it shouldn't be too tough to select and delete anything you don't want in the document. Then, save it, print it, and keep it for future reference.
Tip If you're a Microsoft Office guru, you could create a macro to clean up the output from a DOS command, maybe even convert it to a list of comma-separated values. Then, you could save that file as a text file, and import it into an Access table or Excel spreadsheet.
Whether or not this example of exporting filenames is of any value to you. But it is just an example. If you know DOS, you may be able to come up with more useful applications of your own. You can do anything at the Command Prompt window that you could do in DOS, even copy and delete files. Remember, for a quick overview of all the DOS commands available in the Command Prompt window, just type help at the command prompt and press Enter.
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