запустить пакетный файл, который присутствует на удаленном компьютере - PullRequest
0 голосов
/ 29 января 2009

Приведенный выше код работает нормально, если пакетный файл присутствует на локальном компьютере.
Мне нужно запустить пакетный файл, который присутствует на удаленной машине из приведенного выше кода.

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 ]

1 голос
/ 29 января 2009

Если вы сделаете папку, содержащую пакетный файл, в качестве общего ресурса, а затем используете этот адрес пакетного файла, например "\ ComputerName \ ShareName \ BatchFile", вы можете получить доступ к пакетному файлу.

Надеюсь, это поможет.

0 голосов
/ 14 мая 2009

Я попробовал AT, и он выдает ошибку «Отказано в доступе».

Это также непросто в том смысле, что на удаленном компьютере планируется запуск задачи в указанное время.

Если часы машины не синхронизированы, это может вызвать проблемы.

Должны быть доступны другие альтернативы.

благодарив, Manglu

0 голосов
/ 29 января 2009

Чтобы обновить мой предыдущий ответ, вам действительно нужно посмотреть документацию, иначе вряд ли вы поймете, что делает код.

0 голосов
/ 29 января 2009

Посмотрите на команду AT . Согласно документации:

Команда AT планирует команды и программы для запуска на компьютере в указанное время и дата. Служба расписания должна быть запущена для использования AT-команда.

Так что вы можете сделать что-то вроде:

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

Если вы установите время, в которое вы хотите его запустить, примерно в текущее время, ваш скрипт запустится.

Редактировать: это то, что вы запускаете из командной строки. Вы должны поместить это в вашу командную строку.

0 голосов
/ 29 января 2009

Одним из возможных решений может быть экспорт класса Visuals на сервер RMI, а затем вызов метода, который выполняет пакетный файл удаленно с удаленного клиента.

Взгляните на документацию Sun RMI .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...