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.