我正在尝试使用 PHP 运行下面的批处理脚本(它在命令提示符下运行良好)以使用传递的参数更改 IP
@echo off
setlocal enabledelayedexpansion
netsh int ip set address "EDU_LAN_Connection" static 172.31.%1.110 255.255.255.0 172.31.%1.1 1
在 PHP 中:
system("cmd /c C:EDU_Projectchange_ip.bat 6");
运行 PHP 脚本时出现以下错误:
Invalid address parameter (172.31.61.1 1). It should be a valid IPv4 address.
我不确定如何使用延迟扩展与参数。请帮忙!
批处理参数仅使用%1
进行寻址。不%1%
相应地更改批处理文件:
netsh int ip set address "EDU_LAN_Connection" static 172.31.%1.110 255.255.255.0 172.31.%1.1 1
而不是使用系统函数并将参数传递给批处理文件。我使用 shell_exec 直接从 PHP 运行 netsh 命令:
$var= 18;
shell_exec('netsh int ip set address name="EDU_LAN_Connection" static 172.31.'.$var.'.110 255.255.255.0 172.31.'.$var.'.1 1');