2015-11-30 129 views
-2

也許它看起來很簡單的問題,但我找不到合適的答案。我想知道是否可以從文本文件運行.bat或.exe文件,例如, 1我們將從文件選擇器中檢索File對象,然後抓取它的路徑並將其引入到文本文件中。 通過從文本文件(找到程序的位置)讀取此路徑後,執行.bat或.exe程序? 例如,如果位於第一個文件:Libraries \ Documents \ pro.bat和第二個文件的位置:E:\ pro2.exe。 然後通過這條路徑保存到文本文件test.txt:從文本文件運行.exe

Libraries\Documents\pro.bat 
E:\pro2.exe 

後執行的呢?

其實我已經完成了這部分: - 從文件選擇器中檢索File對象並將其路徑保存爲文本文件。 但我不知道如何從文本文件運行它。 有人能給我一個正確的方向。 任何幫助真的很感激。

+1

文本文件不應該是可執行的。我不太明白這個問題。 –

+1

txt文件不可執行文件。你不能從他們運行任何東西。既然你有路徑,爲什麼還要把它寫入一個txt文件呢?爲什麼不運行它? – Stultuske

+0

我想OP想要運行一個文本文件中列出的所有文件(.bat或.exe)。 – Manu

回答

1

不太清楚你的程序應該怎樣做才能運行外部應用程序。但是,據我瞭解你的問題,你想選擇(形成文件選擇器)一些可執行文件,然後這些可執行文件應該按順序運行(?)。

您不需要將這些路徑存儲到文本文件中。只需將它們存儲在內存中,例如在List<String>List<File>中。然後,你可以操縱的路徑(在你的評論中提及),並運行它們爲edt指出了:

Runtime rt = Runtime.getRuntime(); 
for (String execPath : listOfExecs) { 
    Process p = rt.exec(execPath); 
    p.waitFor(); 
} 
+0

是的,他們必須按順序運行。而且用戶目錄中的文件路徑可能不同,所以我不知道文件的確切路徑。在這種情況下,爲了這個目的可能使用'List '? – hub

+0

對不起,延遲很長。剛纔可以回到這個問題,@Mathias Begert謝謝你的回答。它工作得很好!我接受和+1。 – hub

2

首先,您不能運行txt文件(它們不可執行)。 其次,你可以得到外部應用程序的路徑形成一個文本文件,然後你可以使用該字符串使用

Runtime rt = Runtime.getRuntime(); 
Process p = rt.exec(cmd); 
+0

非常感謝您的回答。它工作很好,+1。 – hub