我有一个要运行的批处理文件 (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
,无论它位于何处。