如何进入CMD的子目录?

时间:2017-04-21 08:49:48

标签: windows cmd

如何在不指定整个路径的情况下转到子目录?

所以当我在

C:/users/USERNAME/desktop/project/build/

如何导航到

C:/users/USERNAME/desktop/project/build/directory 1/

我试过

cd /directory 1

但这会导致

  

系统找不到指定的路径。

我想使用像..命令那样简单的东西,它会返回一个目录而不指定整个路径。是否有类似于更改到子目录的内容?

1 个答案:

答案 0 :(得分:5)

在Windows上,目录分隔符为\ ...反斜杠字符。斜杠字符/在Windows上用于可执行文件/脚本的参数/选项/参数。

出于兼容性原因,例如C / C ++ / C#中的#include指令,使用/作为目录分隔符的相对路径Windows也接受/的路径并自动将它们转换为{{1当一个字符串被解释为带有路径的文件/文件夹名称时。

以反斜杠开头的路径是相对于当前驱动器的根的路径。

出于这个原因,\被执行为cd /Directory 1,导致cd \Directory 1执行cd "C:\Directory 1"作为当前驱动器。您的计算机上不存在此目录。

有三种类型的相对路径:

  1. 路径相对于当前目录,如果路径以C:或目录名开头。
  2. 如果路径以.\开头,则路径相对于当前目录的父目录
  3. 如果路径以..\开头,则路径相对于当前驱动器的根
  4. 在目录分隔符多次后,

    \.\也可以在路径内的任何位置使用,Windows会自动将路径解析为绝对路径。

    所以正确使用..\,或不推荐使用cd "Directory 1"

    运行cd Directory 1时命令 CD 输出的帮助说明命令 CD 不需要用双引号括起包含1个或多个空格的路径通常需要,因为空格通常被解释为传递给命令,可执行文件或脚本的参数之间的分隔符。

    最佳做法是始终将路径用双引号括起来,因为其他字符要求用双引号括起路径,以便将路径中的所有字符(几乎)解释为文字字符。

    例如,目录的名称为cd /?。使用Test & Doc Windows命令解释程序执行cd Test & Doc然后尝试查找具有doc。*的可执行文件或脚本,其文件扩展名列在当前目录中的环境变量cd Test或环境中列出的任何目录中变量PATHEXT因为&符被解释为AND运算符,用于在单个命令行上执行多个命令。但是在使用PATH时,整个双引号字符串将被解释为Windows命令解释器要更改的目录名称。

    BTW:所有内部(包含在cd "Test & Doc" ... Windows命令行解释器中)和外部命令(默认情况下在cmd.exe中安装的可执行文件)都可以使用参数%SystemRoot%\System32启动一个命令提示符窗口,显示该命令的帮助。

    • /?
    • cd /?
    • cmd /?
    • pushd /?

    有关Windows命令的更多详细信息,请访问