пакетный файл с пользовательским вводом, чтобы открыть URL - PullRequest
0 голосов
/ 06 мая 2018

Абсолютно новый здесь и зеленый для кодирования. У меня есть новое задание на работу, для которого требуется определенный URL-адрес, были только последние 4 замены нубберов / букв. как я могу сделать пакетный файл, чтобы пользовательский ввод открывал определенный URL с указанным вводом, вставленным в последние 4.

пример http :: // 1234 :: 56: ab78: затем пользовательский ввод .?

У меня есть шлюзы для контроля доступа, к которым я должен подключиться, как маршрутизатор. только у меня их могло быть 200, и меняются только последние четыре цифры. поэтому я пытаюсь упростить необходимость ввода длинного mac-адреса для ipv6 на веб-странице I windows, чтобы помочь моим парням в этой области. Например, это должно быть напечатано в url- http://[fe80::217:7:aff:fe0f:0005]., но, скажем, следующим шлюзом является 0006, когда они вводят 4 числа в командном запросе, мне нужно, чтобы он вставил в это место, затем продолжаем с URL и вводим. Спасибо за ваше время. заранее спасибо, буду продолжать поиски, пока я не пойму это.

Ответы [ 2 ]

0 голосов
/ 06 мая 2018
@echo off
setlocal

set /p "prefix=IP6 prefix: " || exit /b 1
set "suffix=0001"
set /p "suffix=IP6 suffix: "
if not "%prefix:~-1%" == ":" set "prefix=%prefix%:"
set "count=1"
set /p "count=Repetition count: "
set /a "limit=0x%suffix%+count-1"

:loop
echo.
echo start %prefix%%suffix%
call :hex_increment suffix "%suffix%"
if 0x%suffix% gtr %limit% (
    echo Repetition count reached
    exit /b 0
)
set "reply=y"
set /p "reply=Continue? [y|n]: "
if /i "%reply%" == "y" goto :loop
exit /b

:hex_increment
setlocal
set /a "_dec=0x%~2+1"
cmd /c exit /b %_dec%
set "_hex=%=ExitCode:~4%"
endlocal & set "%~1=%_hex%"
exit /b

Префикс IP6 , т. Е. http://fe80::217:7:aff:fe0f и суффикс IP6 означает, что 0007.

Префикс IP6 требуется, поэтому нажатие только return выйдет из сценария.

IP6-суффикс является необязательным, по умолчанию используется 0001.

Трейлинг : будет добавлен к префиксу IP6 , если отсутствует.

Количество повторений , т. Е. 200 предел URL для вывода.

Количество повторений является необязательным и по умолчанию 1.

Метка :loop повторяет команду, которую вы хотите использовать с первым URL. Затем вызов на этикетку :hex_increment увеличивает +1 на шестнадцатеричное число %suffix%, которое будет обновление %suffix%.

Подсказка попросит продолжить и повторить цикл, иначе выйдет. Ответ по умолчанию для продолжения: y.

Пример вывода:

IP6 prefix: http://fe80::217:7:aff:fe0f
IP6 suffix: 0007
Repetition count: 5

start http://fe80::217:7:aff:fe0f:0007
Continue? [y|n]:

start http://fe80::217:7:aff:fe0f:0008
Continue? [y|n]:

start http://fe80::217:7:aff:fe0f:0009
Continue? [y|n]:

start http://fe80::217:7:aff:fe0f:000A
Continue? [y|n]:

start http://fe80::217:7:aff:fe0f:000B
Repetition count reached

Если start http://... желаемая команда, просто удалите ведущее ключевое слово echo для использования, иначе измените к тому, что вы предпочитаете.

0 голосов
/ 06 мая 2018

Вы имеете в виду как http://www.url.com? Qn = [user inputted number]?

Вы можете сделать это следующим образом:

@echo off
rem not really necessary for this part
title open our company's website
color de
mode con: cols=90 lines=25
rem below is necessary
goto t

:t
set str=error
set /p str=Please enter four characters: 
set len=0
goto sl

:sl
call set this=%%str:~%len%%%
if not "%this%" == "" (set /a len+=1
goto :sl)
if not "%len%" == "4" (echo Sorry but please input four characters to open a website. Press any key to type in again.
pause >nul
cls
goto t)
start http://www.url.com?qn=%str%
echo URL opened, press any key to leave.
pause >nul
exit

Особая благодарность за вдохновение Tutorial Spot . К сожалению, приведенные здесь коды не могут помешать пользователям вводить такие символы, как «, &, | и т. Д., Что может вызвать ошибки сценариев в пакете, поскольку я не уверен, что в вашей компании есть ссылки, содержащие следующие символы. Приносим извинения за неудобства. причина.

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

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