Skip to main content

Passing Parameter to a Dos/Windows Batch File

Some time we need to provide the parameters (the data to be processed) to a batch file at the time of calling the batch process. Suppose we want to add two numbers by a batch file. So, let's consider a name for the batch file, say, add.bat
Now, if we want to add 4 and 5 by this batch file we have to write on the command prompt as,
add 4 5
Then it will show the result 9

In a batch file the parameters are referred by numbering like, for the discussed batch file %1 refers the first value of parameter, i.e., 4 and %2 refers 5.
So the content of the batch file will be....

@echo off
set/a sum= %1 + %2
echo %sum%
echo on
Comments on each line............... @echo off :: This command will off the echoing (displaying) the next commands until the echoing is on. set/a sum= %1 + %2 :: This Command evaluate the addition process and store the value in a variable named sum. /a is a switch for set command to evaluate any expression. echo %sum% :: This command will show the value of summation which is stored in the variable sum. echo on :: After this command every command will be echoed on the screen. If you want to pass a filename as a parameter and work on that file then some additional references will be needed. The following Table will help you to know about them.
ParametersComments
%~f1Expands %1 to a fully qualified pathname. If you passed only a file name from the current directory, this parameter would also expand to the drive or directory.
%~d1Extracts the drive letter from %1
%~p1Extracts the path from %1
%~n1Extracts the filename from %1 without the extension
%~x1Extract the file extension from %1
%~s1Changes the n and x options’ meanings to reference the short name. You would therefore use %~sn1 for the short filename and %~sx1 for the short extension.
And we also combine them to get our expected result. As Example.... %~dp1 to expand %1 to a drive letter and path only or use %~sp1 to display short path.

Comments

Popular posts from this blog

Class Point:: It holds co-ordinates of a point in format (x,y)

A class Named "Point" which stores the Co-ordinates of a point in (x,y) Format. This Class Contains:: O Constructor with default arguments O Copy Constructor O Function to display which Co-ordinate a Point belongs to O Function to get value of x of a point O Function to get value of y of a point O Function to get the Radious Vector (r) of a point O Function to get the Theta of a point O Overloaded Operator - to find out distance between two points O Overloaded Operator >> to take input O Overloaded operator O Destructor #include<iostream.h> #include<math.h> class point{ //Data Members int x,y; //They hold the value of X and Y co-ordinate of a Point. public: //Member Functions point(int t1=0, int t2=0) //Constructor with default arguments. { x=t1; y=t2; } point(point &t) //Copy Constructor { x=t.x; y=t.y; } int coordinate(void); //It returns the point's Co-ordinate, e.g., 1, 2, 3, or 4th. int getx(...