【问题标题】:bat script only runs first line?bat 脚本只运行第一行?
【发布时间】:2012-03-05 21:55:44
【问题描述】:

当我将下面的行复制/粘贴到 cmd 窗口中时,它可以毫无问题地执行。

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
msbuild proj\projsln /p:Configuration=Debug 
proj\proj\bin\Debug\proj.exe my args

但是,当我将其保存为 DoStuff.bat 时,我收到以下消息(这是执行 vcvars32.bat 的文本),然后没有其他内容。它不会构建我的项目,显然也不会运行新构建的可执行文件。

为什么它不运行,我如何让它运行所有三个命令?

>"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\vcvars32.bat"
Setting environment for using Microsoft Visual Studio 2010 x86 tools.

【问题讨论】:

标签: windows batch-file


【解决方案1】:

使用CALL 调用另一个批处理文件。

【讨论】:

  • 对于那些感到困惑的人来说,在这种情况下需要这样做的原因是因为脚本正在调用另一个脚本。需要 call 命令让 windows 知道它需要在第二个脚本完成时继续执行原始脚本:Calls one batch program from another without stopping the parent batch program
【解决方案2】:

嗯,它没有继续下去一定是有原因的。是命令正在等待一些输入吗?我能想到的就这些了。尝试将批处理文件的输出重定向到日志,看看发生了什么。

或者,将批处理文件拆分为单独的批处理文件,并在每次调用批处理文件之前放置一个CALL

【讨论】:

    猜你喜欢
    • 2015-12-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-08
    • 1970-01-01
    • 1970-01-01
    • 2019-11-12
    相关资源
    最近更新 更多