运行子目录中的程序

运行子目录中的程序

假设我当前的工作目录是C:\Users\neubert\Documents\或类似的东西。假设我在该目录中有一个子目录 - subdir- 并且在该子目录中有一个文件 - filename.exe

当我进入C:\Users\neubert\Documents\然后cmdsubdir\filename收到一个The system cannot find the path specified.错误。

那么是否不能使用来运行子目录内的程序cmd

答案1

当您使用 启动程序时cmd,其当前目录将设置为您在命令提示符下看到的路径。我几乎可以肯定,该程序依赖于其所在目录中的另一个文件,在本例中是不是它的当前目录,因此找不到该文件。如果该程序不存在,您将看到类似以下内容:

'sub\blargh.exe' is not recognized as an internal or external command,
operable program or batch file.

loc.bat您可以通过在名为 的文件夹中创建test包含的批处理文件来证明当前目录不同echo %CD%。当您test\loc从父目录运行它时,您将看到命令提示符的目录,而不是包含脚本的目录。

当然可以启动其他文件夹中的程序,但您需要注意它们的当前目录。要启动某个目录中的程序,您可以使用start /b /wait /d folder program。如果我发现自己经常需要这样做,我可能会制作一个包含以下内容的批处理文件start /b /wait /d %1 %2并将其放在我的 上PATH

相关内容