What does it mean by command cd /d %~dp0 in Windows
WindowsCmdWindows Problem Overview
Can someone please help me to understand the command cd /d %~dp0
and its purposes. Again dos command is below
cd /d %~dp0
Please help me to get the meaning of it.
Windows Solutions
Solution 1 - Windows
Let's dissect it. There are three parts:
cd
-- This is change directory command./d
-- This switch makescd
change both drive and directory at once. Without it you would have to docd %~d0 & cd %~p0
. (%~d0
Changs active drive,cd %~p0
change the directory).%~dp0
-- This can be dissected further into three parts:%0
-- This represents zeroth parameter of your batch script. It expands into the name of the batch file itself.%~0
-- The~
there strips double quotes ("
) around the expanded argument.%dp0
-- Thed
andp
there are modifiers of the expansion. Thed
forces addition of a drive letter and thep
adds full path.
Solution 2 - Windows
~dp0
: d=drive, p=path, %0=full path\name of this batch-file.
cd /d %~dp0
will change the path to the same, where the batch file resides.
See for /?
or call /?
for more details about the %~...
modifiers.
See cd /?
about the /d
switch.