可以说我在命令提示符窗口中使用命令cd
进入以下path。
cd C:/users/USERNAME/desktop/project/build/
例如,在这个目录里我们有如下的结构:
如何用一个简单的命令进入其中一个子目录?
我试图用cd /Directory 1
。 但是,我得到这个错误:
该系统找不到指定的path。
如果我想从Directory 1
回到C:/users/USERNAME/desktop/project/build/
我可以简单地使用cd ..
有没有类似的改变到一个子目录?
在Windows上,目录分隔符是\
…反斜杠字符。 斜杠字符/
在Windows上用于可执行文件/脚本的参数/选项/参数。
出于兼容性原因,例如C / C ++ / C#中的#include
指令,以及使用/
作为目录分隔符的相对路径,Windows还接受带有/
路径,并且在将某个字符串解释为具有路径的文件/文件夹名称时自动将它们转换为\
。
以反斜杠开始的路径是相对于当前驱动器的根的路径。
出于这个原因, cd /Directory 1
被执行为cd \Directory 1
,导致执行cd "C:\Directory 1"
, C:
是当前驱动器。 该目录在你的机器上不存在。
有三种相对路径:
.\
或目录名开头,则路径相对于当前目录 。 ..\
开头,路径相对于当前目录的父目录 。 \
开始,则路径相对于当前驱动器的根目录 。 .\
和..\
也可以在多次使用目录分隔符后的路径中的任意位置使用,并且Windows会自动将路径解析为绝对路径。
所以正确的将使用cd "Directory 1"
,或不推荐cd Directory 1
。
运行cd /?
命令CD输出的帮助 解释说,命令CD不需要像通常所需的那样用双引号括住一个或多个空格的路径,因为空格通常被解释为参数之间的分隔符以传递给命令,可执行文件或脚本。
不过最好的做法是始终用双引号将路径括起来,因为其他字符需要将路径用双引号括起来,将路径中的所有字符都解释为文字字符。
例如一个目录名为Test & Doc
。 使用cd Test & Doc
Windows命令解释程序执行cd Test
,然后尝试查找具有doc。*的文件扩展名的可执行文件或脚本,其文件扩展名列在环境变量PATHEXT
当前目录或环境变量PATH
列出的任何目录中,因为&符号被解释为AND运算符,用于在单个命令行上执行多个命令。 但是在使用cd "Test & Doc"
,整个双引号字符串被解释为由Windows命令解释器转换的目录的名称。
顺便说一句:所有内部(包括在cmd.exe … Windows命令行解释器)和外部命令(默认安装在%SystemRoot%\ System32中的可执行文件)可以用参数/?
启动/?
在命令提示符窗口中显示此命令的帮助。
cd /?
cmd /?
pushd /?
popd /?
有关Windows命令的更多详细信息,请参见