Я пытаюсь создать пакетный файл, который будет проверять имя вашего компьютера, а затем он установит ваш IP-адрес на соответствующий IP-адрес для этого компьютера.Установить переменную внутри оператора IF (пакетный файл Windows)
У меня есть переменная с именем IPAddress, которая хранит новый IP-адрес. Затем у меня есть оператор IF, чтобы проверить имя компьютера и назначить новый IP-адрес. Моя проблема заключается в том, что внутри оператора IF, когда я устанавливаю переменную IPAddress на новый IP-адрес, который я хочу, он не встает. Когда я пытаюсь повторить переменную 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 . . .
Я не могу понять, почему оператор SET в заявлении IF Безразлично Кажется, он работает.
Любые идеи?
Заранее благодарен!
Прочтите один из тысяч вопросов (с кодами) в круглых скобках, где cmd.exe оценивает вары при вводе блока. Чтобы получить фактические значения, вам необходимо принудительно отложить расширение. – LotPings
Оффтопик: Какой велосипед - ваша верховая езда. Я не DH. В основном просто XC и эндуро. Удалит комментарий позже. – Squashman
@Squashman Это изготовленный на заказ мотоцикл DH с 2000 года ... Так что он становится немного старым и шатким, но мне это нравится. Я получил действительно хорошую сделку, иначе я бы не купил его. :) – Jyclop