2015-10-05 99 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\""); 
相关问题