Добавить в корзинуПозвонить
Найти в Дзене
Q-ANSWER

Выполнение команд Windows с помощью Java - изменение настроек сети

В Java я хочу иметь возможность выполнить команду Windows. Соответствующая команда netsh. Это позволит мне установить /reset мой IP-адрес. Обратите внимание, что я не хочу выполнять пакетный файл. Вместо использования пакетного файла я хочу выполнить такие команды напрямую. Возможно ли это? Вот мое внедренное решение для будущей ссылки: public class JavaRunCommand {
private static final String CMD =
"netsh int ip set address name = \"Local Area Connection\" source = static addr = 192.168.222.3 mask = 255.255.255.0";
public static void main(String args[]) {
try {
// Run "netsh" Windows command
Process process = Runtime.getRuntime().exec(CMD);
// Get input streams
BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(process.getErrorStream()));
// Read command standard output

В Java я хочу иметь возможность выполнить команду Windows.

Соответствующая команда netsh. Это позволит мне установить /reset мой IP-адрес.

Обратите внимание, что я не хочу выполнять пакетный файл.

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

Вот мое внедренное решение для будущей ссылки:

public class JavaRunCommand {
private static final String CMD =
"netsh int ip set address name = \"Local Area Connection\" source = static addr = 192.168.222.3 mask = 255.255.255.0";
public static void main(String args[]) {

try {
// Run "netsh" Windows command
Process process = Runtime.getRuntime().exec(CMD);

// Get input streams
BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream()));
BufferedReader stdError = new BufferedReader(new InputStreamReader(process.getErrorStream()));

// Read command standard output
String s;
System.out.println("Standard output: ");
while ((s = stdInput.readLine()) != null) {
System.out.println(s);
}

// Read command errors
System.out.println("Standard error: ");
while ((s = stdError.readLine()) != null) {
System.out.println(s);
}
} catch (Exception e) {
e.printStackTrace(System.err);
}
}
}

Ответ № 1

Runtime.getRuntime().exec("netsh");

См. Runtime Javadoc.

EDIT: более поздний ответ leet предполагает, что этот процесс теперь устарел. Однако, по комментариям DJViking, это выглядит не так: Документация по Java 8. Этот метод не устарел.

Источник http://q-answer.ru/questions/vypolnenie-komand-windows-s-pomosch-yu-java---izmenenie-nast-454.html