我有一个执行批处理文件的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)来调用批处理文件。
感谢您的帮助!
答案 0 :(得分:0)
我们完全避免批处理文件解决了这个问题。
相反,我们直接调用Java类文件来修复我们的问题。
答案 1 :(得分:0)
CMD.exe是实现命令行重定向的程序。如果您希望cmd提供重定向。
cmd /c commandline >> log.file
我发现创建它很奇怪。