Показать полную графическую версию : [решено] Ввод данных в bat
SergeiSO
26-10-2017, 07:36
Здравствуйте, есть батник который пингует разными способами. По идее юзер вводит ip как параментр при запуске типа ping.bat 192.168.0.1 <параметры>. Я хочу сделать что-бы батник проверял ввели ли IP и если нет, предложил бы ввести. Вот что я написал:
if %1=="" (
set /p var1="Enter IP-"
set %1=="%var1%"
)
И ноль реакции. Что я не так делаю? Подскажите пожалуйста.
@echo off
setlocal enableextensions enabledelayedexpansion
set sIP=%~1
if not defined sIP (
set /p sIP=Enter IP:
)
if defined sIP (
echo [%sIP%]
) else (
exit /b 1
)
endlocal
exit /b 0
И ноль реакции. Что я не так делаю? »
Проводите некорректное по синтаксису сравнение «if %1==""» в случае отсутствия заданного параметра. Проводите некорректное присваивание «set %1=="%var1%"» — внутренним переменным %0-%9 нельзя присвоить значение по set (да и не нужно).
SergeiSO
26-10-2017, 08:08
Спс огромное все работает. Как я понял, %0-%9 в батнике вообще не поменять? Печально, у меня там все на них завязано.
Как я понял, %0-%9 в батнике вообще не поменять? Печально, у меня там все на них завязано. »
А зачем их менять? Я же пишу — в этом нет никакой необходимости. Просто присваиваете по нужде их содержимое переменным окружения и пользуете последние. В каких-то случаях используется shift.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.