我试图创建一个批处理文件来检查您的计算机的名称,然后它会将您的IP地址设置为该计算机的相应IP地址。在IF语句(windows批处理文件)中设置变量
我有一个名为IPAddress的变量来存储新的IP地址。然后我有一个IF语句来检查计算机名称并分配新的IP地址。我的问题是,在IF语句中,当我将IPAddress变量设置为我想要的新IP时,它不会粘住。当我在设置IPAddress变量后尝试回显IPAddress变量时,它仍然是原始状态。
这里是我的代码:
@echo off
SET IPAddress=192.168.1.1
IF %computername%==TEST (
ECHO "TEST" computer
SET IPAddress=192.168.1.50
ECHO New IP Address: %IPAddress%
) ELSE IF %computername%==BRIDGE (
ECHO "BRIDGE" Computer
SET IPAddress=192.168.1.25
ECHO New IP Address: %IPAddress%
)
pause
我的“桥梁”的计算机上,我得到这个输出:
"BRIDGE" Computer
New IP Address: 192.168.1.1
Press any key to continue . . .
我不明白为什么IF语句没有按里面的SET语句似乎没有工作。
任何想法?
在此先感谢!
阅读数千个问题之一tions/answers with'delayed expansion'指代括号中的(代码块),其中cmd.exe在进入块时评估变量。要获得实际值,您需要强制延迟扩展。 – LotPings
偏题:你骑自行车是什么样的。我不DH。大多只是XC和耐力赛。稍后将删除评论。 – Squashman
@Squashman这是2000年定制的DH自行车...所以它有点老旧摇摇晃晃,但我喜欢它。我得到了一个很好的交易,否则我不会买它。 :) – Jyclop