Почему я получаю сообщение об ошибке «Путь не верен» при запуске командного файла в удаленной системе? - PullRequest
0 голосов
/ 31 января 2009

Мне нужно запустить командный файл в удаленной системе с локальной машины. Используя код ниже, я получаю следующую ошибку:

Path not correct

У меня есть IP-адрес машины, и я дал пакетный файл в качестве общего ресурса, а имя общего ресурса dsc.

IP-адрес аппарата - 16.181.37.28.

Вот мой код. Я знаю, что путь неправильный. Как я могу дать точный путь?

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

/**
 *
 * @author padmaja
 */

import java.io.*;
class Test{
public static void main(String arg[]){
try{
String command = "cmd /C start 16.181.37.28/dsc/StartVisTsDataCenterMySql-log.bat";
Runtime rt = Runtime.getRuntime();
Process pr = rt.exec(command);

}catch (IOException e) {
e.printStackTrace();
}
}
}

Ответы [ 3 ]

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

Вы пытаетесь запустить скрипт на удаленном компьютере или на вашем локальном компьютере? Ваш подход будет читать файл с удаленного компьютера, но запускать его на локальном компьютере.

Обычный способ запустить что-то на удаленной машине - это запустить процесс на удаленной машине, чтобы он работал постоянно и слушал запросы. Если поступит запрос, этот процесс запустит ваш пакетный файл, который вы хотели бы запустить.

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

Проверить работоспособность можно, создав службу:

sc \\16.181.37.28 create StartVisTsDataCenterMySql-Log binPath= "cmd /c \\16.181.37.28\dsc\StartVisTsDataCenterMySql-log.bat"

Тогда команда для его запуска:

"cmd /c sc \\16.181.37.28 stop StartVisTsDataCenterMySql-Log&sc \\16.181.37.28 start StartVisTsDataCenterMySql-Log"

Вам необходимо подключиться к общему ресурсу в качестве администратора (или сохранить учетные данные). Как только вы подтвердите, что это работает, измените на srvany , так как вы получите сообщение об ошибке в журнале событий, и в противном случае пакетный файл будет работать только в течение 30 секунд.

Если это неправильный ответ, возможно, вы сможете уточнить реальное требование и дать некоторую информацию о том, является ли повторное выполнение командного файла в Java реалистичным решением.

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

Вы работаете в Windows, но используете разделители путей Posix. Попробуйте "cmd /C \\\\16.181.37.28\\dsc\\StartVisTsDataCenterMySql-log.bat".

...