Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] Загрузка списка из txt в bat-файл и выбор из этого списка для запуска (http://forum.oszone.net/showthread.php?t=350885)

DmitriySC 18-03-2022 09:59 2981890

Загрузка списка из txt в bat-файл и выбор из этого списка для запуска
 
День добрый.
Нужна помощь. Самостоятельно не могу осилить обработку файла.
Суть задачи:
рядом с bat-файлом лежит txt. Содержимое следующего формата:
Name_1;IP_address_1
Name_2;IP_address_2
и т.д.

Нужно:
В bat-файле отобразить нумерованный список для выбора пользователем формата:
1 Name_1 IP_address_1
2 Name_2 IP_address_2
и т.д.
Для дальнейшего использования переменной IP_address_n в bat-файле.

megaloman 18-03-2022 11:28 2981896

Код:

@Echo Off
        Set "FileIp=Z:\Box_In\ip.txt"

        FOR /F "usebackq skip=2 tokens=1,2,3 delims=[];" %%i In (`2^>nul find /N ";" "%FileIp%"`) DO (
                Set /A Num@=%%i+10000
                Set "Num=    %%i"
                Call Set "@@Num%%Num@%%=%%Num:~-3%% %%k %%j
                Call Set "@@Adress%%Num@%%=%%k"
        )

        :Begin
                Set /A User=0
                cls
                FOR /F "usebackq tokens=2 delims==" %%i In (`2^>nul Set "@@Num"`) DO Echo %%i
                Set /P User=---------------- Выбирайте по порядковому номеру. 0-завершить работу ^>
                If "%User%"=="0" Exit /B
                Set /A i=10000+%User%
                1>nul 2>&1 Call Set "@@Num%%i%%"||(Echo !!! Неверный номер "%User%" !!! &Pause &GoTo :Begin)
                Call Set "IP_address_n=%%@@Adress%i%%%"

Echo %IP_address_n%

Pause
Exit /B


DmitriySC 18-03-2022 14:03 2981912

Нижайший поклон.


Время: 13:26.

Время: 13:26.
© OSzone.net 2001-