Windows 7 命令提示符:如何从命令行执行批处理脚本?

Posted

技术标签:

【中文标题】Windows 7 命令提示符:如何从命令行执行批处理脚本?【英文标题】:Windows 7 Command Prompt: How do I execute a batch script from the command line? 【发布时间】:2012-08-30 22:30:48 【问题描述】:

我使用的是 Windows 7,我的问题是从控制台 (cmd.exe) 运行此文件:

W:\software\projects\myproject\build\msvc\build.bat

当我手动进入包含该文件的文件夹并使用以下命令序列从那里运行它时,它可以工作:

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

但是,当我尝试通过以下任何方式从根目录运行文件时:

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"

我收到以下错误消息:

The system cannot find the path specified.

我很确定当我使用 Windows XP 时,您不必导航到包含该文件的文件夹即可运行它(当然我可能是错的),但这显然是Windows 7 的情况。还是我遗漏了什么?

【问题讨论】:

【参考方案1】:

你是对的。在执行之前,您不需要导航到批处理脚本文件夹。 错误“系统找不到指定的路径”。很可能是由批处理文件中的某些内容引起的。

尝试添加

cd W:\software\projects\myproject\build\msvc
w:

或在单个命令中(如 James K 所建议,谢谢!)

cd /d W:\software\projects\myproject\build\msvc

搜索了一下,找到了这个通用的解决方案:

cd /d %~dp0

在你的批处理文件的顶部将工作目录设置为脚本的目录以检查是否是这个原因。

如果您从 W:\ 执行文件,这是执行命令的位置(工作目录)。您的脚本很可能在此位置找不到它使用的某些文件。

【讨论】:

谢谢!你的建议确实是问题;) 在一个命令中完成:cd /d W:\software\projects\myproject\build\msvc @James K:我将其添加到答案中。谢谢!

以上是关于Windows 7 命令提示符:如何从命令行执行批处理脚本?的主要内容,如果未能解决你的问题,请参考以下文章

在Windows 7中更改命令提示符的默认启动目录

如何将命令从 GitBash 转换为 Windows 命令行?

如何将标准输入重定向到 Windows 命令行中的文件?

在 Windows 7 中更改命令提示符的默认启动目录

Windows下如何通过CMD命令行获取串口名称?

如何在命令行里运行python脚本