PDA

Показать полную графическую версию : [решено] Ввод данных в 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%"
)
И ноль реакции. Что я не так делаю? Подскажите пожалуйста.

Iska
26-10-2017, 07:48
@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 в батнике вообще не поменять? Печально, у меня там все на них завязано.

Iska
26-10-2017, 09:06
Как я понял, %0-%9 в батнике вообще не поменять? Печально, у меня там все на них завязано. »
А зачем их менять? Я же пишу — в этом нет никакой необходимости. Просто присваиваете по нужде их содержимое переменным окружения и пользуете последние. В каких-то случаях используется shift.




© OSzone.net 2001-2012