cmd.exe 使用变量更改目录

cmd.exe 使用变量更改目录

假设我的桌面位于“F:/Desktop”。为什么在批处理文件中,这会起作用:

@echo off
setlocal enabledelayedexpansion

set DesktopFolder=F:\Desktop

cd /
cd !DesktopFolder!

但这不会:

cd /
cd F:\Desktop

答案1

martineau 回答了你为什么第二个方法不起作用。

最后,如果您希望 cd 也更改当前驱动器以及当前目录,则需要使用 /d 选项,例如 cd /d %DesktopFolder%

当前目录和当前驱动器是分开的。

要查看其实际作用,请打开命令提示符(可能从 C:\Users\%username% 开始),键入cd F:\Desktop并注意您没有明显更改任何内容。如果您随后输入F:,您会发现 F: 上的工作目录已更改为桌面,而不是根目录。

martineau 引用的 /d 选项可以一次性完成这两项操作。

相关内容