运行远程计算机中存在的批处理文件

时间:2009-01-29 08:36:10

标签: java

如果批处理文件存在于本地计算机中,则上述代码可以正常工作 我需要从上面的代码运行远程机器中存在的批处理文件。

class Visuals {

    public static void main(String arg[]) {
        try {
            String command = "cmd /C start C:/Visuals/VisualTimeSeries081308Ratnesh/VisualTimeSeries081308Ratnesh/bat/demo/StartVisTsDataCenterMySql-log.bat";
            Runtime rt = Runtime.getRuntime();
            Process pr = rt.exec(command);
            //pr.destroy();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }

}

如何开发与远程机器的连接?我只有远程机器的IP地址。

5 个答案:

答案 0 :(得分:1)

如果您将包含批处理文件的文件夹作为公共共享,然后使用批处理文件的地址,如“\ ComputerName \ ShareName \ BatchFile”,则可以访问批处理文件。

希望这会有所帮助。

答案 1 :(得分:0)

一种可能的解决方案可能是将Visuals类导出到RMI服务器,然后从远程客户端远程调用执行批处理文件的方法。

查看Sun RMI Documentation

答案 2 :(得分:0)

看看AT command。根据其文件:

  

AT命令安排命令和程序在计算机上运行   指定的时间和日期。必须运行Schedule服务才能使用   AT命令。

所以你可能会做类似的事情:

AT \\123.123.123.123 17:00 cmd /c "C:\test.bat"

如果您在大约当前时间设置要运行它的时间,则脚本将运行。

编辑:这是您从命令行运行的。你应该把它放在你的命令字符串中。

答案 3 :(得分:0)

要更新我以前的答案,你真的需要查看文档,否则你不太可能理解代码在做什么。

答案 4 :(得分:0)

我尝试了AT,它会抛出拒绝访问错误。

从安排远程计算机在指定时间运行任务的意义上来说,这也很棘手。

如果机器时钟不同步,可能会造成麻烦。

应该有其他替代方案。

谢谢, Manglu