Batch file 如何返回到运行批处理脚本文件的目录?

Batch file 如何返回到运行批处理脚本文件的目录?,batch-file,cmd,Batch File,Cmd,我的文件夹结构如下所示, C:\WORK\Project\ 在上述路径中有多个子文件夹, 1.Src 2.蝙蝠 3.输出 等 我的所有批处理脚本文件都存在于C:\WORK\Project\bat中\ 因此,我将转到同一目录并运行批处理脚本文件。 但是,作为我的源代码,所有代码都存在于C:\WORK\Project\Src路径中,因此在我的批处理脚本文件中,路径被称为C:\WORK\Project\ 问题:- 在完成我的批处理命令后,如前面提到的路径C:\WORK\Project\所示,它将进入命

我的文件夹结构如下所示, C:\WORK\Project\ 在上述路径中有多个子文件夹, 1.Src 2.蝙蝠 3.输出 等 我的所有批处理脚本文件都存在于C:\WORK\Project\bat中\ 因此,我将转到同一目录并运行批处理脚本文件。 但是,作为我的源代码,所有代码都存在于C:\WORK\Project\Src路径中,因此在我的批处理脚本文件中,路径被称为C:\WORK\Project\

问题:- 在完成我的批处理命令后,如前面提到的路径C:\WORK\Project\所示,它将进入命令提示符中的同一文件夹。但我想在C:\WORK\Project\bat中开始我的命令。请告诉我如何实现这一点

由于C:\WORK\Project\中有许多文件夹需要考虑,因此我必须将批处理脚本文件中的路径设置为C:\WORK\Project。

在提示中,请重试

pushd /?
还有它的朋友

popd /?

可能最简单的方法是在任何目录更改之前将其包含在批处理文件中

setlocal

这将对当前批处理文件的本地环境进行更改。当批处理文件完成或使用
endlocal
命令时,对环境的任何更改,包括对当前active directory的更改,都将被放弃。

甚至我想对脚本文件进行一些更改,以便用户无需从cmd发出任何命令。感谢您的建议。它现在正在为我工作。