Windows 7 / Getting Started

Creating a Batch File

A batch file is a listing of one or more command-prompt commands within a text file. When the batch file is called or executed, the commands are executed. The best way to understand this is to do it. While there are sophisticated text editors you can use, Notepad will work.

The steps used to create a simple batch file, and then it builds on the simple batch to add extra capabilities. Ultimately, you'll end up with a batch file that can create a list of patches installed on the system and that can copy the file to a share on another computer.

Creating a Batch File

  1. Launch the command prompt
  2. Type Notepad ListPatches.bat and press Enter Notepad will launch, and because a file named ListPatches.bat doesn't exist, you'll be prompted to create it Click Yes.
    Note that the file will be created in the same directory in which the Command Prompt window was launched
  3. Type in the following text in Notepad:
    Echo Off
    Echo Hello %username%. Today is %date%.

    Press Ctrl+S to save the fi le, but don't close it.
  4. Return to the command prompt, type ListPatches, and press Enter. Notice that since the batch file is considered one of the executable types, it is automatically located and executed. You'll see a greeting with today's date. This is okay but not very useful.
  5. Access Notepad, and type in the following text after your first two lines:
    Wmic qfe > %computerName%patches.txt
    This will create a list of updates currently installed on this system and store the updates in the file named computerNamepatches.txt, where the computer name will be different for each computer where it is executed. Press Ctrl+S to save the file.
  6. Return to the command prompt, press the up arrow, and press Enter to execute the batch file again. Notice that it almost seems as though it's the same as before. A greeting appears, it pauses for a second or two, and then the command prompt returns.
  7. Provide some user feedback by adding the following lines to the batch file:
    Echo A list of patches is stored in the %computername%patches.txt file.
    Press Ctrl+S to save the file.
  8. Access the command prompt, press the up arrow to retrieve the last command, and press Enter to view the difference. Notice that instead of %computername%, your actual computer name is used.
  9. You could also open the file for the user by adding this command to the batch file:
    Notepad %computername%patches.txt
    If you add this to the batch file to test it, make sure you remove it before moving on.
  10. Last, if you wanted to copy it to a network share (such as a central computer that will hold files from multiple computers), you could use the NET USE command. For this set of commands, I'm assuming I have a share named Patches on a server named Srv1 that I can access in the network and I have permissions to copy the file. I am accessing it using the \\Srv1\Patches UNC path. You can use any server (or another Windows 7 box) and any share that has appropriate permissions.
    Net Use Z: /delete
    Net use z: \\SRV1\Patches
    Copy %computerName%Patches.txt Z:
    net use Z: /delete
  11. The first command ensures that the Z: drive isn't already mapped to something else. The next command maps the Z: drive to the UNC path using the \\serverName\ shareName format. The third line copies the file to the Z: drive using the Copy command, and the fourth line returns the environment to normal.

Now that the file is created, it can be configured to execute automatically based on a schedule. Windows 7 includes the built-in Task Scheduler that can be used to schedule tasks.

[Previous] [Contents] [Next]

In this tutorial:

  1. Working with the Command Prompt
  2. Starting and Ending a Command Prompt Session
  3. Easy ways to invoke administrator Command Prompt sessions
  4. Starting Command Prompt at a Particular Folder
  5. Strings with Spaces Need Quotes
  6. Cmd.exe vs. Command.com
  7. Commands Are Not Case Sensitive
  8. Starting Command Prompt and Running a Command
  9. Cmd.exe and Other Command Prompts
  10. Using AutoRun to Execute Commands When Command Prompt Starts
  11. Using Cmds Command-Line Syntax
  12. Using Commands
  13. Type /? for help
  14. Starting Programs
  15. Open Windows Explorer at the current Command Prompt folder
  16. Using File-Name and Folder-Name Completion
  17. Use a different completion character
  18. Using Wildcards
  19. Editing the Command Line
  20. Using Command Symbols
  21. The Redirection Symbols
  22. The Pipe Symbol
  23. The Command Combination Symbols
  24. Pausing or Canceling Commands
  25. Simplifying Command Entry with Doskey Macros
  26. DOSKEY Saves Typing
  27. System Variables Identify the Environment
  28. Viewing Environment Variables
  29. Modifying Environment Variables
  30. Predefined Environment Variables
  31. Customizing Command Prompt Windows
  32. Setting the Window Size and Position
  33. Setting the Window Size and Position Visually
  34. Selecting a Font
  35. Setting Colors
  36. Setting Other Options
  37. Copy and paste in the command prompt window
  38. Navigating from the command prompt
  39. Printing a list of filenames
  40. Commands Use Paths
  41. Identifying Executables
  42. Modifying the Path to Executables
  43. Modifying the Path with the GUI
  44. Changing the Current Path with CD
  45. Changing the Current Path with Windows Explorer
  46. Capturing the Output
  47. A Sampling of Commands
  48. Dir
  49. Copy
  50. XCopy
  51. SET
  52. NET USE
  53. SystemInfo
  54. DriverQuery
  55. Echo
  56. Advanced Shell Commands
  57. Creating a Batch File
  58. Scheduling a Batch File
  59. Creating Scheduled Tasks with a Script
  60. Using Windows PowerShell and the PowerShell ISE
  61. Windows PowerShell ISE
  62. PowerShell Commands
  63. Verbs and Nouns
  64. Sending Output to a Text File
  65. PowerShell Syntax
  66. Variables Created with a $ Symbol
  67. Comparison Operators
  68. Parentheses, Brackets, and Braces
  69. Running PowerShell Scripts
  70. PowerShell Execution Policy
  71. Changing the Execution Policy
  72. Looping
  73. Collections
  74. Creating a PowerShell Script
  75. Documenting Scripts
  76. Using PowerShell Commands
  77. Getting Help on PowerShell
  78. Using WMI_Cmdlets
  79. Getting Details on an Object
  80. Querying Information on Specific Objects
  81. Terminate Applications with Win32_process
  82. Formatting Output with the -f Format Operator
  83. Filtering the Output with the Where-Object Command
  84. Using the IF statement
  85. Using the Switch Statement
  86. Script Reusability