如何将cmd输出错误消息作为批处理文件的输入?

时间:2011-12-02 06:59:26

标签: batch-file

我有一个oracle sqldeveloper文件。

当我使用批处理文件运行它时,如果遇到错误,cmd肯定会显示错误。

我想要的是,是否可以将cmd错误作为输入来触发我的自定义错误消息?

如果在cmd中显示任何错误,例如:

Parameter not found

批处理文件中的自定义错误消息将在cmd:

中触发此错误消息
You Got An Error!

任何帮助和建议都表示赞赏..

提前致谢!

2 个答案:

答案 0 :(得分:0)

您可以将输出(stdout和stderr)重定向到文本文件(如果您不关心输出,则重定向到nul),并在脚本具有后检查`%ERRORLEVEL%的值已被执行。如果它不是0,则显示您自己的错误消息。

重定向stdout和stderr:

command parameters 1>>c:\log.txt 2>&1

答案 1 :(得分:0)

我建议使用SQL * Plus而不是SQL Developer。您可以将WHENEVER SQLERROR EXIT FAILURE添加到脚本的顶部(如果您对特定的错误代码感兴趣,则可以添加EXIT SQL.SQLCODE)。然后调用批处理文件将收到%ERRORLEVEL%中的错误代码,您可以适当地采取措施。如果您的SQL脚本与操作系统接口并且可能存在故障,那么还有WHEREVER OSERROR EXIT FAILURE。

我不认为SQL * Plus使用stderr,因此我认为您不必担心重定向2>& 1。