使用变量更改批处理文件中的目录

Shu*_*arg 23 command-line batch-file

这是问题:

set Pathname = C:\Program Files
cd %Pathname%
pause
Run Code Online (Sandbox Code Playgroud)

正如我所料,上面的内容并未改变目录.谁能告诉我为什么?

Pat*_*uff 52

set不把空格你期望的方式陈述; 你的变量确实被命名Pathname[space]并且等于[space]C:\Program Files.

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

set Pathname="C:\Program Files"
Run Code Online (Sandbox Code Playgroud)

此外,如果您的命令提示符未对C:\打开,则cd单独使用无法更改驱动器.

使用

cd /d %Pathname%
Run Code Online (Sandbox Code Playgroud)

要么

pushd %Pathname%
Run Code Online (Sandbox Code Playgroud)

代替.

  • 我需要“/d”,因为我正在 CD 到不同的驱动器 EG,从“C:”cd 到“G:”需要“/d” (2认同)