【问题标题】:Close db2cmd prompt after command execution from a batch file从批处理文件执行命令后关闭 db2cmd 提示符
【发布时间】:2016-02-08 03:42:26
【问题描述】:

我试图在执行命令后关闭 db2cmd。目标是在我用任务调度程序安排它每天运行 2100 小时之前让这个文件完美。批处理文件开始执行命令,命令被执行但提示没有关闭。

我浏览了以下链接,但没有任何组合有效。
How to close the command line window after running a batch file?
How to automatically close cmd window after batch file execution?

这是我的简短脚本
start C:\"Program Files"\IBM\SQLLIB\BIN\db2cmdadmin.exe "db2 -tvf D:\stats.sql > D:\stats.output"

该命令有效,但提示在完成后仍保持打开状态。我试过做 -
"&& 退出 0",
下一行中的“exit 0”,
“退出”在下一行,
"启动 db2cmdadmin "db2 -tvf D:\stats.sql > D:\stats.output""

但是没有任何东西可以关闭提示。我该如何纠正这个问题?

【问题讨论】:

  • 为什么不在整个路径周围加上引号?您使用的语法(引用 within 路径)对我来说看起来很奇怪,我什至很惊讶它的工作原理......您应该使用:start "" "C:\Program Files\IBM\SQLLIB\BIN\db2cmdadmin.exe" ...(所以引用了整个路径;空带引号的字符串"" 是窗口标题;如果省略,start 可能会混淆)

标签: batch-file db2


【解决方案1】:

您可能希望将命令行开关/c 添加到您的命令中

start C:\"Program Files"\IBM\SQLLIB\BIN\db2cmdadmin.exe /c "db2 -tvf D:\stats.sql > D:\stats.output"

作为explained in the manual

【讨论】:

  • 只需添加 /c 就可以像魅力一样工作。非常感谢!
【解决方案2】:

我没有尝试过,但它通常对我有用。在 `

结尾
start `C:\"Program Files"\IBM\SQLLIB\BIN\db2cmdadmin.exe "db2 -tvf D:\stats.sql > D:\stats.output"

goto eof

然后放一个循环

:eof 

然后退出 所以总的来说代码是

@echo off
   start `C:\"Program Files"\IBM\SQLLIB\BIN\db2cmdadmin.exe "db2 -tvf D:\stats.sql > D:\stats.output"
goto eof

:eof
exit

【讨论】:

  • 感谢您的回答。尽管我没有尝试这种方法,但添加 /c 就可以了,而且比运行循环要简单得多。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-09-24
  • 1970-01-01
  • 2020-09-02
  • 2019-06-29
  • 2022-01-03
  • 2012-08-30
  • 2017-11-10
相关资源
最近更新 更多