如何进入CMD中的子目录?

Red*_*Red 3 windows cmd

如何在不指定子目录完整路径的情况下进入子目录?

所以当我在

C:/users/USERNAME/desktop/project/build/
Run Code Online (Sandbox Code Playgroud)

然后我该如何导航到

C:/users/USERNAME/desktop/project/build/directory 1/
Run Code Online (Sandbox Code Playgroud)

我试过了

cd /directory 1
Run Code Online (Sandbox Code Playgroud)

但这导致

该系统找不到指定的路径。


我想使用与..命令一样简单的命令,该命令可以返回一个目录而不指定其整个路径。是否有类似于更改子目录的内容?

Mof*_*ofi 5

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

出于兼容性原因,例如#includeC / C ++ / C#中的说明,其中的相对路径/用作目录分隔符/\当字符串被解释为带有路径的文件/文件夹名称时,Windows也会接受路径并将其自动转换为路径。

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

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

相对路径有3种类型:

  1. 如果路径以或以目录名开头,则路径是相对于当前目录的.\
  2. 如果路径以开头,则路径相对于当前目录的父目录..\
  3. 如果路径以开头,则路径相对于当前驱动器的根\

.\并且..\还可以在目录分隔符之后多次在路径内的任何位置使用,Windows会自动将路径解析为绝对路径。

因此,将使用cd "Directory 1"或不建议使用正确的方法cd Directory 1

运行时命令CD输出的帮助cd /?说明,命令CD不需要像通常所要求的那样用双引号将路径包含一个或多个空格,因为通常将空格解释为传递给命令,可执行文件或脚本的参数之间的分隔符。

但是,最佳实践是始终将路径用双引号引起来,因为其他字符需要将路径用双引号引起来才能将(几乎)路径中的所有字符解释为文字字符。

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

顺便说一句:所有内部cmd.exe命令(包括在Windows命令行解释器中)和外部命令(默认情况下在中安装的可执行文件%SystemRoot%\System32)都可以/?在命令提示符窗口中用参数启动,以显示该命令的帮助。

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

有关Windows命令的更多详细信息,请参见