【问题标题】:How to pass arguments from a java application to a windows Time Scheduler?如何将参数从 Java 应用程序传递到 Windows 时间调度程序?
【发布时间】:2014-02-14 22:02:47
【问题描述】:

我想使用 java 应用程序将参数传递给 Windows 时间调度程序

所以我打开调度器

public static void main(String[] args) { 
Runtime.getRuntime().exec("cmd /c " + "%windir%\\system32\\taskschd.msc /s");

现在创建一个简单的任务。我如何以编程方式传递参数:

例如我需要传递以下内容

  • 程序脚本:C:\Program Files\Java\jre7\bin\java.exe
  • 添加参数:-jar c:\abc\ab.jar
  • 开始于:c:\abc

【问题讨论】:

  • 您想让一个 java 应用程序将参数传递给另一个 java 应用程序,或者您只想在运行时将参数传递给一个应用程序?
  • 我想将参数从 Java 应用程序传递到 Windows TASK Scheduler
  • @AndreiVasilev windows 7?
  • 是的,先生,它是 Windows 7

标签: java


【解决方案1】:

不要通过cmd(命令行)执行此操作。使用ITaskService COM interface 管理任务(创建、修改、删除)。在 Java 中使用Com4J 接口连接到 Windows COM。

但如果您仍想使用命令行,请使用Windows Powershell

最后一种方法是创建基于 XML 的 Task Scheduler 文件(在 Java 中)。这些是符合Task Scheduler Schema 的XML-s,存储在%SystemRoot%\Tasks%SystemRoot%\System32\Tasks

创建代码由您决定,尤其是使用 windows 任务创建 .xml 以方便简单的测试。希望这会有所帮助。

【讨论】:

    【解决方案2】:

    抱歉,我没有完全理解这个问题,但我已尽力而为。这对我有用。

        try {
            Runtime.getRuntime().exec("java -jar c:\application.jar args");
        }
        catch(IOException e) {
            e.printStackTrace();
        }
    

    【讨论】:

      【解决方案3】:

      您可以使用Schtasks 命令行实用程序来添加任务。另外,请参阅有关指定启动文件夹的问题:Specifying "start-in" directory in schtasks command in windows

      【讨论】:

        猜你喜欢
        • 2013-12-15
        • 1970-01-01
        • 2013-03-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多