Posted By: Chris Smith
I’m looking at a batch file which defines the following variables:
set _SCRIPT_DRIVE=%~d0 set _SCRIPT_PATH=%~p0
- What do
- Is there a set of well-known values for things like current directory, drive, parameters to a script?
- Are there any other similar shortcuts I could use?
The magic variables
%n contains the arguments used to invoke the file:
%0 is the path to the bat-file itself,
%1 is the first argument after,
%2 is the second and so on.
Since the arguments are often file paths, there is some additional syntax to extract parts of the path.
~d is drive,
~p is the path (without drive),
~n is the file name. They can be combined so
~dp is drive+path.
%~dp0 is therefore pretty useful in a bat: it is the folder in which the executing bat file resides.
You can also get other kinds of meta info about the file:
~t is the timestamp,
~z is the size.