2015-03-25 5 views
1

Я хочу отключить компьютер от Интернета, и лучшим способом, который я могу придумать, является запуск ipconfig/release из cmd. Для этого я сделалJava Runtime.getRuntime(). Exec ("ipconfig/release"); возвращает ошибку?

Process result = Runtime.getRuntime().exec("ipconfig/release"); 

Это бросает ошибку, однако

java.io.IOException: Cannot run program "ipconfig/release": CreateProcess error= 
2, The system cannot find the file specified 
     at java.lang.ProcessBuilder.start(Unknown Source) 
     at java.lang.Runtime.exec(Unknown Source) 
     at java.lang.Runtime.exec(Unknown Source) 
     at java.lang.Runtime.exec(Unknown Source) 
     at threadio.run(checkmac.java:141) 
     at java.lang.Thread.run(Unknown Source) 
Caused by: java.io.IOException: CreateProcess error=2, The system cannot find th 
e file specified 

который я не уверен, что значит.

Любые идеи, что я делаю неправильно? Любые лучшие альтернативы для отключения от маршрутизатора?

+1

Не должно быть 'ipconfig/release' (обратите внимание на пробел), также, как правило, проще использовать' ProcessBuilder' и разделять каждую команду и параметр как собственный аргумент 'new ProcessBuilder (« ipconfig », "/ release"); ' – MadProgrammer

+0

@MadProgrammer Если вы находитесь в Windows, попробуйте' ipconfig/release'' из командной строки –

+2

Командная строка Windows имеет совместимое с ошибкой поведение, которое разбивает токены на косых чертах. Я сомневаюсь, что эквивалент Windows 'exec' делает то же самое. – chrylis

ответ

0

Он работает с пространством

Process result = Runtime.getRuntime().exec("ipconfig /release"); 
+0

Вы можете попробовать с этим также C:/Windows/System32/ipconfig .exe/release, дающий полный путь ipconfig – Kick

0

Если предположить, что ipconfig.exe находится в PATH, то Runtime.exec способен найти его, если это не так, вам нужно будет указать полный путь к нему.