IF заявление в пакетном скрипте - PullRequest
0 голосов
/ 23 марта 2012

Я пишу пакетный скрипт, который переключается между IP-адресами в зависимости от ввода пользователя. Основные функции скрипта работают, однако я хочу добавить несколько проверок в каждую функцию, чтобы проверить, какие настройки уже применены, и дать соответствующий ответ.

Мой текущий код:

@ECHO OFF
::Change Static IP address for simulator or network connection

:MAINMENU choose option from menu
::Set Current IP Address

for /F "tokens=2 delims=:" %%i in ('"ipconfig | findstr IP | findstr 192."') do SET LOCAL_IP=%%i

ECHO.
ECHO. Set Workstation...........1
ECHO. Set Simulator.............2
ECHO. Quit (no further action)..Q
ECHO.
choice /c:Q21
ECHO.

IF ERRORLEVEL 3 GOTO WORK
IF ERRORLEVEL 2 GOTO SIM
IF ERRORLEVEL 1 GOTO EOF

::Change IP To network settings
:WORK
IF "LOCAL_IP"=="192.168.1.4" (
ECHO. You are already in this mode
GOTO MAINMENU 
) ELSE
(echo "Setting Static IP Information" 
netsh int ip set address name="Local Area Connection" source=static addr=192.168.1.4 mask=255.255.255.0 gateway=192.168.1.254 gwmetric=1 
netsh int ip set dns name="Local Area Connection" source=static addr=192.168.1.1

echo IP Address Set
goto MAINMENU)

::Set Simulator IP Address
:SIM
IF "LOCAL_IP"=="192.168.4.1" (
ECHO. You are already in this mode
GOTO MAINMENU
) ELSE
echo "Setting Static IP Information"
netsh int ip set address name="Local Area Connection" source=dhcp
netsh int ip set dns name="Local Area Connection" source=dhcp
netsh int ip set address name="Local Area Connection" source=static addr=192.168.4.1 mask=255.255.255.0
echo "Setting Static IP Information"
goto MAINMENU

:EOF
pause

У меня проблемы с получением инструкции IF для сравнения текущего IP-адреса с тем, на который я хочу установить его. Кто-нибудь может подсказать, где я иду не так, или предложить какие-нибудь идеи, чтобы заставить это работать, пожалуйста?

1 Ответ

3 голосов
/ 23 марта 2012

Полагаю, LOCAL_IP - это переменная окружения, чтобы использовать их, вы должны заключить имя в %, чтобы ваш код был:

IF "%LOCAL_IP%"=="192.168.1.4" (

и

IF "%LOCAL_IP%"=="192.168.4.1" (

Примечание: где вы устанавливаете эту переменную среды на фактическое значение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...