这是问题:

set Pathname = C:\Program Files
cd %Pathname%
pause

上面没有更改目录,正如我期望的那样。有人可以告诉我为什么吗?

最佳答案

set语句不会以您期望的方式处理空格;您的变量实际上名为Pathname[space],等于[space]C:\Program Files

删除=符号两侧的空格,并将值放在双引号中:

set Pathname="C:\Program Files"

另外,如果您的命令提示符未对C:\打开,则仅使用cd不能更改驱动器。

采用
cd /d %Pathname%

要么
pushd %Pathname%

代替。

关于command-line - 使用变量在批处理文件中更改目录,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4133244/

10-12 03:34