【问题标题】:Rest of script not running after calling a batch file to run?调用批处理文件运行后其余脚本未运行?
【发布时间】:2021-03-11 12:09:49
【问题描述】:

我有以下脚本batch 脚本:

call standalone.bat

"C:\Program Files (x86)\Notepad++\notepad++.exe" "C:\Program Files\jboss-eap-6.2\jboss-eap-6.2\standalone\log\server.log"

第一个命令按预期运行,但脚本似乎从未调用记事本打开 server.log 文件。

这里有什么问题?

编辑:standalone.bat 的结尾是:

if ERRORLEVEL 10 goto RESTART

:END
if "x%NOPAUSE%" == "x" pause

:END_NO_PAUSE

【问题讨论】:

  • 你显示的脚本很好。我猜,standalone.bat 中有一个硬的exit,它会导致窗口关闭而不是返回调用脚本。如果是这样,请将其替换为 goto :eof。如果没有,请告诉我们standalone.bat(严重的语法错误也可能导致此问题)
  • 如果您发布的确实是您的脚本,而不仅仅是其中的一部分,我建议您将其修改为@Call standalone.bat@Start "%ProgramFiles(x86)%\Notepad++\notepad++.exe" "%ProgramFiles%\jboss-eap-6.2\jboss-eap-6.2\standalone\log\server.log"
  • 我现在编辑了以standalone.bat结尾的问题
  • @java12399900 - EXIT 命令可以出现在standalone.bat 脚本中的任何位置。此外,致命的语法错误会阻止返回,但您应该会看到错误消息,除非 stderr 已被重定向。
  • 你确定standalone真的完成了吗?你确定standalone.bat最后没有执行PAUSE吗? (显然它不会在您按下一个键之前结束)您还没有描述“第一个命令按预期运行”的含义。如果直接运行standalone.bat 会发生什么?

标签: windows batch-file scripting notepad


【解决方案1】:

Stephan 很可能在他的question comment 中诊断出问题——standalone.bat 可能以exit 命令终止。如果这是正确的,那么您可以通过更改
call standalone.bat
来解决此问题而无需修改standalone.bat 到
cmd /c standalone.bat.

【讨论】:

  • 我现在编辑了以standalone.bat结尾的问题
猜你喜欢
  • 2012-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多