gpt4 book ai didi

windows - 批处理文件在 cd 命令后获取当前工作目录

转载 作者:可可西里 更新时间:2023-11-01 09:58:43 25 4
gpt4 key购买 nike

当我运行位于 C:\some\dir 中的批处理文件时,我知道我可以使用 %cd%%~dp0 获取批处理文件本身的路径和描述的其他信息 here .

但是在批处理文件执行了几个 cd 命令后,我还没有设法获得“当前工作目录”。

例如:

  • 批处理文件在 C:\some\dir
  • 批处理文件执行 cd sub 和之后的 cd sub2

如何获取那个文件夹的路径?

它应该产生 C:\some\dir\sub\sub2 并且在命令行中手动执行上述所有操作时相当于 pwd 命令!

上面的任何命令我都不走运!它说here %cd% 变量应该在使用 cd 命令后更新,但我总是得到 C:\some\dir 作为输出。

编辑

link to a short version of my batch file

最佳答案

如果您的批处理文件执行如下操作:

@echo off
echo Start at: %cd%

cd sub
cd sub2

echo Currently at: %cd%

第二个 echo 命令肯定会显示 C:\some\dir\sub\sub2。然而,如果 %cd% 被放置在一个代码块中,也就是说,用圆括号括起来(就像在 if对于 命令),那么这就是经典的延迟扩展问题(如 MC ND 所示):

@echo off
setlocal EnableDelayedExpansion

>log.txt (
cd sub
cd sub2

echo Before this code block the current directory was: %cd%
echo But currently it is: !cd!
)

有关详细信息,请查找“延迟扩展”。

关于windows - 批处理文件在 cd 命令后获取当前工作目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29963689/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com