如何从当前目录获取执行批处理文件的当前目录?

如何从当前目录获取执行批处理文件的当前目录?

我有一个要运行的批处理文件 (lunch.bat),其中包含运行另一个批处理文件 (main.bat) 的命令。我将这两个文件复制到我的 U 盘中。我知道我的 U 盘驱动器位于计算机的后面,这就是为什么我可以配置第一个批处理文件 (lunch.bat) 以在我的计算机上运行另一个批处理。但是当我将这两个文件复制到我的 U 盘并将其插入另一台计算机时,第一个批处理文件无法运行另一个批处理文件。所以这对我来说是个问题。有人能帮我获取当前目录命令,如 c++(GetCurrentDirectory) 函数,以便从任何计算机和任何驱动器运行批处理吗?

答案1

陈瑞文

简单的方法是使用 %CD% 伪变量。它扩展到当前工作目录。

set OLDDIR=%CD%
.. do stuff ..
chdir /d %OLDDIR% &rem restore current directory

答案2

输入不带任何参数的批处理命令cd将返回当前工作目录。

答案3

将此代码放入lunch.bat文件中:

call %~dp0main.bat

main.bat这将从与 相同的驱动器和文件夹启动lunch.bat,无论它位于何处。

相关内容