Dra*_*ion 9 cmd batch-file command-prompt windows-7
我正在使用Windows 7,我的问题是从控制台(cmd.exe)运行此文件:
W:\software\projects\myproject\build\msvc\build.bat
Run Code Online (Sandbox Code Playgroud)
当我手动移动到包含该文件的文件夹并使用以下命令序列从那里运行它时,它可以工作:
W:\>cd software
W:\software>cd projects
W:\software\projects>cd myproject
W:\software\projects\myproject>cd build
W:\software\projects\myproject\build>cd msvc
W:\software\projects\myproject\build\msvc>build.bat
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试以任何这些方式从根目录运行该文件时:
W:\>software\projects\myproject\build\msvc\build.bat
W:\>call software\projects\myproject\build\msvc\build.bat
W:\>@call software\projects\myproject\build\msvc\build.bat
W:\>"software\projects\myproject\build\msvc\build.bat"
W:\>call "software\projects\myproject\build\msvc\build.bat"
W:\>@call "software\projects\myproject\build\msvc\build.bat"
Run Code Online (Sandbox Code Playgroud)
我收到以下错误消息:
The system cannot find the path specified.
Run Code Online (Sandbox Code Playgroud)
我很确定你不必导航到包含该文件的文件夹,以便在我使用Windows XP时运行它(当然我可能是错的),但这显然是Windows的情况7.或者我错过了什么?
你是对的。在执行之前,您不需要导航到批处理脚本文件夹。错误“系统找不到指定的路径。” 很可能是由批处理文件中的某些内容引起的。
尝试添加
cd W:\software\projects\myproject\build\msvc
w:
Run Code Online (Sandbox Code Playgroud)
或在单个命令中(按照 James K 的建议,谢谢!)
cd /d W:\software\projects\myproject\build\msvc
Run Code Online (Sandbox Code Playgroud)
进行了更多搜索,发现了这个通用解决方案:
cd /d %~dp0
Run Code Online (Sandbox Code Playgroud)
在批处理文件顶部将工作目录设置为脚本的目录,以检查这是否是原因。
如果您从 W:\ 执行文件,则这是执行命令的位置(工作目录)。您的脚本很可能无法在此位置找到它使用的某些文件。
| 归档时间: |
|
| 查看次数: |
47586 次 |
| 最近记录: |