Related:  How to parse a batch parameter

A. When you call a batch file, you can enter data after the command that the batch file refers to as %1, %2, etc. For example, in the batch file hello.bat, the following command

`@echo hello %1 boy`

would output

`hello john boy`

if you called it as

`hello john`

The following table outlines how you can modify the passed parameter.

 Parameter Description %1 The normal parameter. %~f1 Expands %1 to a fully qualified pathname. If you passed only a filename from the current directory, this parameter would also expand to the drive or directory. %~d1 Extracts the drive letter from %1. %~p1 Extracts the path from %1. %~n1 Extracts the filename from %1, without the extension. %~x1 Extracts the file extension from %1. %~s1 Changes 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.

The following table shows how you can combine some of the parameters.

 Parameter Description %~dp1 Expands %1 to a drive letter and path only. %~sp1 For short path. %~nx1 Expands %1 to a filename and extension only.

To see all the parameters in action, put them into the batch file testing.bat, as follows.

```@echo off
echo fully qualified name %~f1
echo drive %~d1
echo path %~p1
echo filename %~n1
echo file extension %~x1
echo short filename %~sn1
echo short file extension %~sx1
echo drive and directory %~dp1
echo filename and extension %~nx1```

Then, run the file with a long filename. For example, the batch file run on the file c:\temp\longfilename.long would produce the following output.

```fully qualified name c:\TEMP\longfilename.long
drive c:
path \TEMP\
filename longfilename
file extension .long
short filename LONGFI~1
short file extension .LON
drive and directory c:\TEMP\
filename and extension longfilename.long```

This method also works on the second and subsequent parameters. You simply substitute the parameter for 1 (e.g., %~f2 for the second parameter’s fully qualified path name).

Related:  Using URLs in Batch Files

The %0 parameter in a batch file holds information about the file when it runs and indicates which command extensions you can use with the file (e.g., %~dp0 gives the batch file’s drive and path).