【问题标题】:Batch script does not close cmd after execution批处理脚本执行后不关闭cmd
【发布时间】:2018-10-08 08:32:49
【问题描述】:

我有以下从批处理脚本启动 siebel 工具的代码:

@ECHO OFF
D:
CD D:\Siebel\8.1.1.16.0\Tools\BIN\
ECHO Starting Siebel Tools
siebdev.exe /c D:\Siebel\8.1.1.16.0\Tools\CFG\tools.cfg /d DataSrc /u ADMIN /p PASSWORD
cmd

但这不会关闭命令提示符。请帮忙。

【问题讨论】:

  • 为什么要包含cmd 命令?
  • 您正在脚本末尾开始一个新的 cmd 会话...
  • 您还应该考虑将/D 选项与CD 命令或Start 命令一起使用。在命令提示符处输入命令,后跟 /?,以读取使用信息。

标签: windows batch-file


【解决方案1】:

仅此一项应该没问题,最后一行没有 cmd

@ECHO OFF
CD /d D:\Siebel\8.1.1.16.0\Tools\BIN\
ECHO Starting Siebel Tools
siebdev.exe /c D:\Siebel\8.1.1.16.0\Tools\CFG\tools.cfg /d DataSrc /u ADMIN /p PASSWORD

只是为了补充, /d 可以在 cd 之后使用而不是 D: 然后使用 cd

【讨论】:

  • 是的,我包括了 /d 。但问题仍然相同。命令提示符保持打开状态。我的问题是,当我从 Jenkins 运行此任务时,由于 cmd 提示符打开,该作业永远不会完成。所以其他工作无法启动。
  • 在这种情况下使用 start siebdev.exe /c D:\Siebel\8.1.1.16.0\Tools\CFG\tools.cfg /d DataSrc /u ADMIN /p PASSWORD 如果 start 是前缀而从 win 控制台调用,它将作为新进程启动并退出当前进程。早些时候,建议将 /d 单独用于 cd 命令,与您的确切问题无关。
  • 实际上,/D 被建议用于CDStart 命令。那么就应该只需要一行,即@Start "Siebel Tools" /D D:\Siebel\8.1.1.16.0\Tools\BIN SiebDev /c ..\CFG\tools.cfg /d DataSrc /u ADMIN /p PASSWORD
猜你喜欢
  • 1970-01-01
  • 2013-09-15
  • 1970-01-01
  • 1970-01-01
  • 2021-05-30
  • 2015-04-12
  • 1970-01-01
  • 2012-09-08
  • 1970-01-01
相关资源
最近更新 更多