应用程序执行批处理文件时重定向命令输出

时间:2014-12-29 13:53:10

标签: java vb.net windows batch-file

我有一个执行批处理文件的Web应用程序。

此批处理文件执行一个java类,其输出显示在运行批处理文件的命令窗口中。

编写批处理文件,以便从执行的java类接收的任何输出都输出并保存到服务器上的文本文件中。

这是使用'重定向命令输出(>)'执行的,如下所述:http://technet.microsoft.com/en-us/library/bb490982.aspx

在Windows Server 2008中,这样可以正常工作。

我们已将服务器升级到Windows Server 2012,并注意到在创建文本文件时,内容为空。

当我们手动单击服务器上的批处理文件时,文本文件会写入响应。但是,当我们从Web应用程序执行批处理文件时,会创建文本文件但没有响应文本。

这是Windows Server 2012的兼容性问题,如果有,是否有解决方法/修复?

作为参考,我们使用的是VB.NET Web应用程序,它通过使用CreateObject(“WScript.Shell”)创建对象然后使用object.Run(batchfile)来调用批处理文件。

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

我们完全避免批处理文件解决了这个问题。

相反,我们直接调用Java类文件来修复我们的问题。

答案 1 :(得分:0)

CMD.exe是实现命令行重定向的程序。如果您希望cmd提供重定向。

cmd /c commandline >> log.file

我发现创建它很奇怪。