假设我当前的工作目录是C:\Users\neubert\Documents\
或类似的东西。假设我在该目录中有一个子目录 - subdir
- 并且在该子目录中有一个文件 - filename.exe
。
当我进入C:\Users\neubert\Documents\
然后cmd
我subdir\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
。