假设我的桌面位于“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 选项可以一次性完成这两项操作。