如何在另一个目录中执行 *.cmd,就像在当前目录中执行 运行 一样?

How do I execute a *.cmd in another dir as if it is running in the current dir?

想象一下下面的cmd

c:\myscript.cmd

java.exe myclass.class

运行ning 所在的文件所在的位置:

c:\temp\myclass.class

我想 运行 一个 cmd 文件,就好像它正在 运行 当前目录中一样,即我的命令行在 c:\temp\

中打开

我想要更短的 运行ning:

c:\temp\>mv ../myscript.cmd .
c:\temp\>myscript.cmd
c:\temp\>mv myscript.cmd ..\

我的问题是:如何在另一个目录中执行 *.cmd,就像在当前目录中 运行ning 一样?

您可以生成一个子 cmd 实例,然后执行 cd 更改工作目录,然后执行命令,这是由 运行 cmd 完成的直接与 && 一起连接命令:

cmd /c "cd PATH_OF_DESIRED_WORKING_DIRECTORY" && "myscript.cmd"

如果您只想运行它,那么只需在命令行输入..\myscript.cmd。它将您的当前目录作为其当前目录。您可以通过将 echo %CD% 作为批处理文件的第一行来验证这一点。它应该打印 c:\temp\