2012-03-30 72 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文件夾以外的目錄中創建該文件?