2012-03-30 111 views
5

在java中,我在tomcat的bin目录中的程序文​​件下动态创建了一个批处理文件并动态执行它,但它不执行。如果我双击生成的批处理文件,它会执行。 (问题发生在Windows服务器机器上。)无法从Java运行动态生成的批处理文件

在我的机器和许多XP机器上,此过程正常工作。

那么它是依赖于操作系统的,还是该文件位于程序文件中,因此无法执行权限或存在任何其他问题?

+1

您是否尝试过在其他地方创建它,即在不受执行权限负担的目录中? – 2012-03-30 12:41:08

+3

请从您的问题(最好是您的想法)中删除“动态”一词的每个实例,因为**大部分**时间会为您的问题添加*无*。为了说明:你如何非动态地创建一个文件?或者你如何非动态地执行一个? – 2012-03-30 12:43:46

+2

你如何尝试执行它?使用Runtime.exec()? “不执行” - 它如何表现?任何错误消息? – 2012-03-30 15:27:15

回答

0

正确的答案要求您提供更多信息;也许通过回答这些问题,你会确定你的答案。

1)要明确有关Windows Server版本(2003年,2008年等)

2)我假设的Tomcat作为服务运行;它运行的用户帐户是什么,并且该用户帐户是否具有适当的权限?

3)发布您创建文件的代码。发布您正在执行该文件的代码。你是否试图在创建文件后执行文件,但在输出流关闭之前?

4)您是否尝试过在Tomcat的bin文件夹以外的目录中创建该文件?