【发布时间】:2017-11-23 13:58:30
【问题描述】:
我有一个批处理文件,它调用 Saxon 进行 XSLT 转换。对于某些文件,Saxon 给了我一个错误。这将出现在一个新的命令行窗口中,该窗口打开大约 1 秒钟,然后关闭。我正在尝试在文件中捕获该错误消息。
这是批处理文件的相关部分:
start /wait "" "C:\Program Files\Saxonica\SaxonHE9.6N\bin\Transform.exe" -s:"file.xml" -xsl:fixerrors.xslt -o:"output.xml" 1>>fixerrors.log 2>&1
fixerrors.log 文件已创建,但即使 Saxon 遇到错误并创建新的命令行窗口,该文件仍为空。
我能够像这样从另一个程序中捕获错误消息,因此使用1>>fixerrors.log 的想法本身并没有错。这似乎是撒克逊人特有的。
【问题讨论】:
-
试试这个,看看它是否会打开一个包含内容的日志。
start /wait "" "C:\Program Files\Saxonica\SaxonHE9.6N\bin\Transform.exe" -s:"file.xml" -xsl:fixerrors.xslt -o:"output.xml" >fixerrors.log 2>&1 & type fixerrors.log & pause它还应该保持窗口打开,以便您查看错误。 -
另外,你不需要使用start,你可以单独调用路径和可执行文件。
标签: batch-file saxon