Как проверить, является ли URL действительным или нет в пакетном скрипте Windows - PullRequest
2 голосов
/ 30 сентября 2011

Я новичок в пакетных сценариях Windows. У меня есть вопрос, хотя.

В пакетных сценариях Windows как узнать, является ли переменная допустимым URL-адресом или нет?

Пример:

Действительный URL:

URL = https://stackoverflow.com/questions/ask

Неверный URL:

url = недействительный URL

Ответы [ 3 ]

4 голосов
/ 30 сентября 2011

Вы можете использовать FINDSTR для проверки вашего URL путем сопоставления его с регулярным выражением.См. Ответы на этот вопрос переполнения стека Регулярные выражения в findstr

В основном вам придется понять

  1. , как использовать FINDSTR и его /R переключатель.См. HELP FINDSTR

  2. , как кодировать регулярное выражение для сопоставления и проверки URL-адресов.Google для регулярных выражений учебник.

    Подсказка: (http|https)://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

  3. и как интерпретировать результаты FINDSTR в пакетном файле.См HELP FOR

1 голос
/ 18 апреля 2014

Это просто и должно работать в большинстве случаев:

setlocal enableextensions enabledelayedexpansion
set URL=url to test
if not x%URL:http://=%==x%URL% goto http
if not x%URL:https://=%==x%URL% goto http
if not x%URL:ftp://=%==x%URL% goto ftp
REM else
echo invalid url!
0 голосов
/ 18 апреля 2014

Не беспокойся. Все, что вы используете, не будет идентично правилам, которые использует программа, которую вы собираетесь запустить. Просто позвольте программе решить.

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