簡體   English   中英

運行時進程執行問題

[英]Problem with Runtime Process Execution

有人可以找到這段代碼有什么問題嗎:

Runtime rt = Runtime.getRuntime();
Process pr;
File myFolder = new File("C:\\Temp");
pr = rt.exec("myExec.bat", null, myFolder);
pr.waitFor();
pr.destroy();

當我運行此代碼時,出現以下異常(使用的文件和文件夾按指定存在):

java.io.IOException: Cannot run program "myExec.bat" (in directory "C:\Temp"): CreateProcess error=2, The system cannot find the file specified
    at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
    at java.lang.Runtime.exec(Runtime.java:593)
    at java.lang.Runtime.exec(Runtime.java:431)
    at com.radml.radmlp.main(Test.java:10)

rt.exec希望沒有路徑信息的文件位於用戶目錄中,而不位於您指定用作工作目錄的目錄中。 用這種方式

    Runtime rt = Runtime.getRuntime();
    Process pr;
    File myFolder = new File("C:\\Temp");
    pr = rt.exec(new File(myFolder, "myExec.bat").getAbsolutePath(), null, myFolder);
    pr.waitFor();
    pr.destroy();

只要文件c:\\ Temp \\ myExec.bat存在,它就應該起作用。

加的特Greetz

您確定您的bat文件位於“ C:\\Temp\\myExec.bat ”中嗎?

(只是一個猜測,但請確保該文件實際上未稱為 C:\\Temp\\myExec.bat .txt

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM