Windows 如何在批处理文件中正确使用cd命令?

Windows 如何在批处理文件中正确使用cd命令?,windows,batch-file,cmd,Windows,Batch File,Cmd,我不熟悉批处理脚本,只是尝试编写一个简单的批处理文件,该文件将转到我经常使用的目录,而不必每次都使用cd @ECHO OFF CD / CD D: CD programming/ 当我保存并尝试运行此命令时,会出现以下错误: the system cannot find the file specified path 即使这些命令在使用时直接在提示符下执行时运行良好 cd d: D:的当前目录可能不是D:\ 要设置根目录,您需要使用CD D:\ 在Windows中,首先使用反斜杠,Wind

我不熟悉批处理脚本,只是尝试编写一个简单的批处理文件,该文件将转到我经常使用的目录,而不必每次都使用cd

@ECHO OFF
CD /
CD D:
CD programming/
当我保存并尝试运行此命令时,会出现以下错误:

the system cannot find the file specified path 
即使这些命令在使用时直接在提示符下执行时运行良好

cd d:

D:的当前目录可能不是D:\

要设置根目录,您需要使用CD D:\


在Windows中,首先使用反斜杠,Windows路径分隔符是
\
,但不是
/

然后,您需要知道每个驱动器都有一个当前目录,以便完全了解正在发生的事情

但无论如何,这里有一个经过修改的代码版本,其中有一些解释:

rem/*这将更改您正在使用的驱动器的根目录(例如'C:`);
请注意,我将“/”替换为“\”,这是正确的路径分隔符:*/
光盘\
rem/*这会将驱动器`D:`的当前目录更改为驱动器`D:`的当前目录,
rem注意,这不会切换到指定的驱动器,因为没有`/D`选项:*/
cd D:
rem/*这实际上与“cd编程”相同,并更改了子目录
rem当前工作目录的“编程”:*/
光盘编程\
rem/*最后的工作目录现在是'C:\programming',假设原始
rem工作驱动器为'C:`*/
然而,我认为您正在努力实现以下目标:

rem//这将切换到驱动器'D:`;认为没有“cd”命令:
D:
rem//这将更改您正在使用的驱动器的根目录,即'D:`:
光盘\
rem//这将更改为目录“programming”:
光盘编程
rem//最后的工作目录现在是'D:\programming'。
这可以缩短为:

D:
cd\编程
甚至这个:

rem//注意切换到给定驱动器所需的“/D”选项:
cd/D:\编程

使用反斜杠有助于回答您的问题吗?一行回答
cd-D:/programming/
cd
不会更改驱动器,除非包含
/D
开关。您需要一行:
cd/d:\programming
。请注意,我使用了反斜杠,而不是正斜杠。顺便说一句:在999999999%的案例中,Windows和DOS标记在一起没有意义,尽管您所说的是正确的(因为每个驱动器都有自己的当前目录),这不会切换到驱动器
D:
,除非您添加
/D
选项…我上面说的是,如果D:drive先前设置为根目录以外的目录,例如D:\work,当您使用CD D:,它会返回到D:,也就是D:\work,其中没有“编程”目录。您是对的,
cd D:\
更改驱动器的当前目录
D:
(与您当前使用的驱动器无关)
cd D:
是无用的,因为您将驱动器
:D的当前目录更改为该驱动器
D:
的当前目录。无论如何,我想说的是:当你在使用驱动器
C:
时,你可以键入
cd-D:
cd-D:\
,但你仍然会在驱动器
C:
,除非你用
cd/D>而不是
cd
,然后你也可以更改驱动器。实际上我犯了一个愚蠢的错误,我写了cd D:而不是D:,现在我明白了