85

有人可以帮我理解命令cd /d %~dp0及其用途吗?再次dos命令如下

cd /d %~dp0

请帮助我理解它的含义。

4

2 回答 2

131

让我们剖析一下。分为三个部分:

  1. cd-- 这是更改目录命令。
  2. /d-- 这个开关可以cd同时改变驱动器和目录。没有它,您将不得不这样做cd %~d0 & cd %~p0。(更改%~d0活动驱动器,cd %~p0更改目录)。
  3. %~dp0——这可以进一步分为三个部分:
    1. %0-- 这代表批处理脚本的第零个参数。它扩展为批处理文件本身的名称。
    2. %~0--这里去掉了展开参数周围的~双引号 ( )。"
    3. %dp0--d并且p有扩展的修饰符。d强制添加驱动器号并添加p完整路径。
于 2013-08-19T09:09:53.127 回答
36

~dp0: d=drive, p=path, %0=full path\name 这个批处理文件。

cd /d %~dp0会将路径更改为批处理文件所在的相同路径。

有关修饰符的更多详细信息,请参见for /?或。 看开关。call /?%~...
cd /?/d

于 2013-08-19T09:04:59.343 回答