我需要使用java更改计算机IP地址...我已尝试过这个但这不起作用...
String str1="192.168.0.201";
String str2="255.255.255.0";
String[] command1 = { "netsh", "interface", "ip", "set", "address",
"name=", "Local Area Connection" ,"source=static", "addr=",str1,
"mask=", str2};
Process pp = java.lang.Runtime.getRuntime().exec(command1);
答案 0 :(得分:2)
你(可能)需要正确连接那些key=value
参数 - 正如所写的那样,它们将被视为单独的参数,即
{..., "addr1=" + str1, "mask=" + str2 };
答案 1 :(得分:1)
你试过这个吗?
String[] command1 = { "netsh", "interface", "ip", "set", "address",
"name=\"Local Area Connection\"" ,"source=static", "addr="+str1,
"mask="+str2};
请注意,现在=之后的参数不用空格分隔。另请注意双引号区域本地连接。
如果这也不起作用,请尝试用单引号括起Local Area Connection,如下所示:
"name='Local Area Connection'"
答案 2 :(得分:1)
确保您的界面名称
在cmd中使用$code = time();
$array = array();
for ($qty = 0; $qty < $e->qty; $qty++) {
$array = array_push($array, array(
'coupon_code' => $code + $qty,
'amount' => $e->amount,
'expiry_date' => $e->expiry_date,
'assigned_to' => $e->user_id,
'assigned_date' => date('Y-m-d'),
'created_by' => session('admin_id'),
));
}
DB::table('coupons')->insert($array);
检查连接的名称
答案 3 :(得分:0)
我测试了你发布的代码,这是我得到的错误
线程“main”中的异常java.lang.Error:未解决的编译问题: 未处理的异常类型IOException
at DaysinaMonth.main(DaysinaMonth.java:9)
错误发现在这一行:
Process pp = java.lang.Runtime.getRuntime().exec(command1);
我没有解决此问题的建议,但我可以说,查看提供的代码,除非用于形成循环,否则运行时似乎没用,但是因为您没有将IP设置为随机生成的数字,没有理由这样做。
答案 4 :(得分:0)
public class DaysinaMonth {
public static void main(String[] args) throws Throwable{
String str1="192.168.0.201";
String str2="255.255.255.0";
String[] command1 = { "netsh", "interface", "ip", "set", "address",
"name=", "Local Area Connection" ,"source=static", "addr=",str1,
"mask=", str2};
Process pp = java.lang.Runtime.getRuntime().exec(command1);
System.out.print( pp);
}
}
这似乎有效,但回报很奇怪:java.lang.ProcessImpl@659e0bfd
没有发现任何错误,我的IP已被更改,但未按预期方式更改。