Parameters: Giving Information to Batch Programs
To make batch programs really intelligent you need to be able to provide them with parameters which are nothing but additional valuable information which is needed to ensure that the bath program can work efficiently and flexibly.To understand how parameters work, look at the following script:
Code:
@ECHO OFF
ECHO First Parameter is %1
ECHO Second Parameter is %2
ECHO Third Parameter is %3
The script seems to be echoing(printing) messages on the screen, but what do the strange symbols %1 , % 2 etc stand for? To find out what the strange symbols stand for save the above script and go to DOS and execute this script by passing the below parameters:
C:\windows>batch_file_name abc def ghi
This batch file produces the following result:
C:\windows>batch_file_name abc def ghi
First Parameter is abc
Second Parameter is def
Third Parameter is ghi
The first line in the output is produced by the code line:
ECHO First Parameter is %1
Basically what happens is that when DOS encounters the %1 symbol, it examines the original command used to execute the bath program and look for the first word (argument) after the batch filename and then assigns %1 the value of that word. So one can say that in the ECHO statement %1 is replaced with the value of the first argument. In the above example the first word after the batch file name is abc, therefore %1 is assigned the value of this word.
To understand the practical usage of parameters, let's take up a real life example. Now the following script requires the user to enter the name of the files to be deleted and the folder in which they are located.
Code:
@ECHO OFF
CD\
CD %1
DEL %2
This script can be called from the DOS prompt in the following way:
C:\windows>batch_file_name windows\temp *.tmp
In a single script we cannot use more that nine replaceable parameters. This
means that a particular batch file will have replaceable parameters from %1 to
%9.Infact there is a tenth replaceable parameter, the %0 parameter. The %0
parameter contains the name of the batch file itself.
Important: Say you want to execute a batch file and once the procedure of execution is complete, want to leave DOS and return to Windows, what do you do? The EXIT command can be used in such situations. So simply end your batch file with the EXIT command.
EXIT
AbhiShek SinGhFounder of 'TheHackingArticles'. Cyber Security Analyst, Cyber Security Researcher, and Software Engineer. Follow 'AbhiShek SinGh' on Facebook , Twitter or Google+ or via Email