这是我在 Windows7 中使用 cmd 尝试从一个目录转到另一个目录时发现的。下面复制(粗体)的是终端,稍后我会解释我的问题
C:> cd k:\folder1\folder2
计算机:> k:
**k:\文件夹1\文件夹2>****
在第一行中,它不允许我进入所需的位置。在第二行中,当我只想进入 k 目录时,它将我发送到我在上一个命令中输入的地址。
问题:为什么在第二个命令中,只需输入“k:”,我就会发现自己处于“k:\folder1\folder2”中?
谢谢。
答案1
命令 shell 保留当前驱动器和当前目录的值在每个驱动器上。输入 时CD
,它只会更改当前驱动器或指定驱动器的当前目录。更改驱动器将使您进入该驱动器的当前目录。
要立即更改驱动器和目录,您可以使用:
CD /D K:\folder1\folder2
另外,您还可以使用此方法在其他命令中使用简写:
CD J:\folderA\folderB
CD K:\folder1\folder2
Copy J:*.* K:
将所有文件从 复制J:\folderA\folderB
到K:\folder1\folder2
,即使您位于 C: 驱动器中。请注意命令中没有斜杠Copy
。
答案2
当您运行cd
并指定完整路径(带驱动器号)时,它会更改该驱动器的工作目录。但是,默认情况下它不会将您切换到该驱动器。这样您就可以使用当前路径中的程序在另一个驱动器上执行一些命令,而无需在命令参数中输入另一个驱动器的完整路径。
请考虑以下示例,其中您未将 MyBatchFiles 文件夹包含在 中%PATH%
,并且您必须针对 D: 文件系统深处的某些文件运行脚本。此处,脚本只是,copy %1 %2
但它实际上可以是需要在另一个驱动器上的任意目标上工作的任何内容。看看在后续文件上执行此命令所需的输入量如何比每次都必须指定完整路径少得多。
现在,如果你真的想切换到另一个驱动器上的目录和切换到该驱动器,只需使用开关即可/d
。见下文。