Writing a Windows batch script
In Windows, the batch file is a file that stores commands in a serial order. The command line interpreter takes the file as an input and executes in the same order. A batch file is simply a text file saved with the .bat file extension. It can be written using Notepad or any other text editor. A simple batch file will be:
// When echo is turned off, the command prompt doesn't appear in the Command Prompt window. ECHO OFF // The following command writes GeeksforGeeks to the console. ECHO GeeksforGeeks // The following command suspends the processing of a batch program and displays the prompt. PAUSE
After saving it with a .bat extension. Double click it to run the file. It prints shows:
In the above script, ECHO off cleans up the console by hiding the commands from being printed at the prompt, ECHO prints the text “GeeksforGeeks” to the screen, and then waits for the user to press a key so the program can be ceased. Some basic commands of batch file:
- ECHO – Prints out the input string. It can be ON or OFF, for ECHO to turn the echoing feature on or off. If ECHO is ON, the command prompt will display the command it is executing.
- CLS – Clears the command prompt screen.
- TITLE – Changes the title text displayed on top of prompt window.
- EXIT – To exit the Command Prompt.
- PAUSE – Used to stop the execution of a Windows batch file.
- :: – Add a comment in the batch file.
- COPY – Copy a file or files.
Types of “batch” files in Windows:
- INI (*.ini) – Initialization file. These set the default variables in the system and programs.
- CFG (*.cfg) – These are the configuration files.
- SYS (*.sys) – System files, can sometimes be edited, mostly compiled machine code in new versions.
- COM (*.com) – Command files. These are the executable files for all the DOS commands. In early versions there was a separate file for each command. Now, most are inside COMMAND.COM.
- CMD (*.cmd) – These were the batch files used in NT operating systems.
Lets take another example, Suppose we need to list down all the files/directory names inside a particular directory and save it to a text file, so batch script for it will be,
@ECHO OFF // A comment line can be added to the batch file with the REM command. REM This is a comment line. REM Listing all the files in the directory Program files DIR"C:\Program Files" > C:\geeks_list.txt ECHO "Done!"
Now when we run this batch script, it will create a file name geeks_list.txt in your C:\ directory, displaying all the files/folder names in C:\Program Files. Another useful batch script that can be written to diagnose your network and check performance of it:
// This batch file checks for network connection problems. ECHO OFF // View network connection details IPCONFIG /all // Check if geeksforgeeks.com is reachable PING geeksforgeeks.com // Run a traceroute to check the route to geeksforgeeks.com TRACERT geeksforgeeks.com PAUSE
This script displays:
This script gives information about the current network and some network packet information. ipconfig /all helps to view the network information and ‘ping’ & ‘tracert’ to get each packet info. Learn about ping and traceroute here.