簡體   English   中英

從java程序執行bat文件時找不到文件

[英]File not found when execution a bat file from a java program

我有這個曾經可以工作的代碼,但現在我發現程序找不到文件,但文件在那里。

這是我的代碼。 我的項目在C:\\Users\\user\\git\\project ,apps 文件夾是C:\\Users\\user\\git\\apps\\folder

        ProcessBuilder pb = null;
       pb = new ProcessBuilder("myApp.bat");                         
        pb.directory(newFile("C:\Users\user\git\project\..\apps\folder"));
        File log = new File("log");
        pb.redirectErrorStream(true);
        pb.redirectOutput(Redirect.appendTo(log));

        Process p = pb.start();
      assert pb.redirectInput() == Redirect.PIPE;
      assert pb.redirectOutput().file() == log;
      assert p.getInputStream().read() == -1;

我得到了Cannot run program "myApp.bat" (in directory "C:\\Users\\user\\git\\project\\..\\apps\\folder"): CreateProcess error=2, Can´t find file

您為 bat 文件指定了錯誤的文件夾路徑。

您正在指定

C:\\Users\\user\\git\\project\\..\\apps\\folder

但你說正確的文件夾是C:\\Users\\user\\git\\project\\..\\apps\\folder

換線

pb.directory(newFile("C:\\Users\\user\\git\\project\\..\\apps\\folder"));

pb.directory(newFile("C:\\Users\\user\\git\\project\\apps\\folder"));

..指的是目錄中的更改。 所以你的實際路徑變成 C:\\Users\\user\\git\\apps\\folder 而不是 C:\\Users\\user\\git\\project\\apps\\folder

暫無
暫無

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

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