2011-08-05 32 views
0

我有一個示例Java應用程序,我使用Procrun註冊爲服務。我想如果我開始服務,它被成功地開始從我的應用程序使用Procrun從Java註冊爲Windows Service的批處理文件

public class Service { 
    public static void main(String args[]) throws IOException, InterruptedException {  
     if(args.length>0){ 
      if(args[0].equals("start")){ 
       ProcessBuilder builder = new 
        ProcessBuilder("cmd","/c","start","Start.bat"); 
       builder.start();     
      }else if(args[0].equals("shutdown")){ 
       ProcessBuilder builder = new 
        ProcessBuilder("cmd","/c","start","Stop.bat"); 
       builder.start();      
      } 
     }  
    } 
} 

執行批處理文件,但它並沒有在我的Windows啓動批處理文件7.

的批處理文件的內容給出下面

的start.bat

@echo off 
echo I am started 
pause 

請讓我知道我在這裏缺少

回答

0

您是否嘗試過以下

Runtime.getRuntime().exec("cmd /c start Start.bat"); 
0

從Java應用程序中執行批處理文件,嘗試這段代碼:

// 「d://斌/」 是我的蝙蝠的位置

File dir = new File("D:/bin/"); 
try { 

    // sign.bat if my actual file. 
    Runtime.getRuntime().exec("cmd.exe /c sign.bat", null, dir); 
     try { 

     Thread.sleep(100); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} catch (IOException e) { 
    // TODO Auto-generated catch block 
    e.printStackTrace(); 
}