2015-10-05 78 views
-1

我想在本地計算機**(yy.yy.yy.yy)**上將服務器名稱上的批處理文件作爲xx.xx.xx.xx運行。我的批處理文件存在於其中的共享文件夾批C盤,但運行Java程序後,即獲取:java.io.IOException:無法運行程序「sas.bat」(在目錄「\ xx.xx.xx.xx batch」中):CreateProcess error = 267,目錄名無效

java.io.IOException: Cannot run program "sas.bat (in directory "\\xx.xx.xx.xx\batch"): CreateProcess error=267, 

目錄名稱是無效

at java.lang.ProcessBuilder.start(Unknown Source)". 

由於事先給出錯誤。

Java代碼:

try { 


      ProcessBuilder launcher = new ProcessBuilder(); 
      Map<String, String> environment =launcher.environment(); 
      launcher.redirectErrorStream(true); 

      launcher.directory(new File("\\\\xx.xx.xx.xx\\batch")); 
       launcher.command("sas.bat"); 
      Process p= launcher.start(); 

       } 
        catch (Exception e) 
       { 

       System.out.println("Execution error"); 
       e.printStackTrace(); 
       } 

sas.bat:

"D:\sas home\SASFoundation\9.3\sas.exe" -SYSIN c:\codeexcel.sas 
cmd /k 
+0

嗨,任何人都有幫助我嗎??? –

+0

它不起作用。 –

+0

可能是它無法找到服務器上的文件 –

回答

1

我曾經嘗試這樣做,它的工作: 筆記記錄:F:\軟件\ PsTool是PsExec.exe的路徑

ProcessBuilder builder = new ProcessBuilder("cmd.exe", "/c", 
        "F:\\Softwares\\PsTool\\PsExec.exe \\\\xx.xx.xx.xx -u Administrator -p yyyy \"c:\\batch\\createFolder.bat\""); 
相關問題