2016-09-28 79 views

回答

1

的Windows已經一個任務調度程序,您可以從命令行調用:SCHTASKS.EXE

的schtasks /參數[參數]

說明: 允許管理員創建,刪除,查詢,更改,運行並且 在本地或遠程系統上結束計劃任務。

參數列表: /Create創建新的計劃任務。

/刪除刪除計劃任務。

/查詢顯示所有計劃任務。

/Change更改計劃任務的屬性。

/Run按需運行計劃任務。

/End停止當前正在運行的計劃任務。

/ShowSid顯示與預定的詢問名稱相對應的安全標識符。

/?顯示此幫助消息。

0

試試這個http://yajsw.sourceforge.net/。使用「YAJSW」(另一個Java服務包裝器),您可以將您的Java服務註冊爲Windows服務。

2

啓動命令行實用程序schtasks

創建任務。

import java.io.IOException; 
import java.util.ArrayList; 
import java.util.List; 

public class TestWinScheduler { 

public static void main(String args[]) throws IOException, InterruptedException { 
    // schtasks /create /tn "HowToTask" /tr c:\temp\test.cmd /sc once /st 00:00:00 /sd 2022/01/01 /ru username /rp password 

    List<String> commands = new ArrayList<String>(); 

    commands.add("schtasks.exe"); 
    commands.add("/CREATE"); 
    commands.add("/TN"); 
    commands.add("\"HowToTask\""); 
    commands.add("/TR"); 
    commands.add("\"c:/temp/test.cmd\""); 
    commands.add("/SC"); 
    commands.add("once"); 
    commands.add("/ST"); 
    commands.add("00:00:00"); 
    commands.add("/SD"); 
    commands.add("2022/10/10"); 
    commands.add("/RU"); 
    commands.add("username"); 
    commands.add("/RP"); 
    commands.add("password"); 

    ProcessBuilder builder = new ProcessBuilder(commands); 
    Process p = builder.start(); 
    p.waitFor(); 
    System.out.println(p.exitValue()); // 0 : OK 
            // 1 : Error 
    } 
} 

執行任務:

import java.io.IOException; 
import java.util.ArrayList; 
import java.util.List; 

public class TestWinScheduler { 

public static void main(String args[]) throws IOException, InterruptedException { 
    // schtasks /run /tn "HowToTask" 

    List<String> commands = new ArrayList<String>(); 

    commands.add("schtasks.exe"); 
    commands.add("/RUN"); 
    commands.add("/TN"); 
    commands.add("\"HowtoTask\""); 

    ProcessBuilder builder = new ProcessBuilder(commands); 
    Process p = builder.start(); 
    p.waitFor(); 
    System.out.println(p.exitValue()); // 0 : OK 
            // 1 : Error 
    } 
} 

Ref

+0

上面的代碼工作文件爲我。但是當我使用我的代碼刪除調度程序任務時,它說**錯誤:訪問被拒絕。**當我在Window任務計劃程序中手動執行時,它將被刪除。任何解決方案? – Harsh

相關問題