![]() |
Внимание, важное сообщение: Дорогие Друзья!
В ноябре далекого 2001 года мы решили создать сайт и форум, которые смогут помочь как начинающим, так и продвинутым пользователям разобраться в операционных системах. В 2004-2006г наш проект был одним из самых крупных ИТ ресурсов в рунете, на пике нас посещало более 300 000 человек в день! Наша документация по службам Windows и автоматической установке помогла огромному количеству пользователей и сисадминов. Мы с уверенностью можем сказать, что внесли большой вклад в развитие ИТ сообщества рунета. Но... время меняются, приоритеты тоже. И, к сожалению, пришло время сказать До встречи! После долгих дискуссий было принято решение закрыть наш проект. 1 августа форум переводится в режим Только чтение, а в начале сентября мы переведем рубильник в положение Выключен Огромное спасибо за эти 24 года, это было незабываемое приключение. Сказать спасибо и поделиться своей историей можно в данной теме. С уважением, ваш призрачный админ, BigMac... |
|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Скриптовые языки администрирования Windows » CMD/BAT - [решено] Распределить ссылки |
|
|
CMD/BAT - [решено] Распределить ссылки
|
Новый участник Сообщения: 44 |
Здравствуйте, пытаюсь решить задачу но не знаю как.
На вход скрипта приходят URL трёх видов: https://site.com/user/anything/anything https://anything.site.com/anything-anything-12345678/anything https://anything.site.com/ Из второго только цифры (они всегда разные) Из третьего только субдомейн (в данном случае anything) это я знаю как сделать. После в каждом конкретном случае мне нужно сформировать URL и открыть в браузере. И тут у меня ступор. Каким образом решаются подобные задачи? Как сделать так что бы скрипт различал что это ссылка на пользователя, пост или субдомейн и запускал на исполнение соответствующую сабрутину? Заранее благодарю. |
|
Отправлено: 23:42, 10-09-2020 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Цитата greg zakharov:
![]() |
|
Отправлено: 22:06, 11-09-2020 | #21 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 22:39, 11-09-2020 | #22 |
Забанен Сообщения: 793
|
DJ Mogarych, если цифра восьмизначная, в общем-то можно жахать регуляркой, а вот по части сплитов, тримов и репласов... Вот поэтому лучше использовать URI.
Если бы автор темы предоставил более входящих данных, не пришлось бы гадать что да как должно быть. |
Отправлено: 00:21, 12-09-2020 | #23 |
fascinating rhythm Сообщения: 6705
|
Профиль | Отправить PM | Цитировать |
------- Отправлено: 13:06, 12-09-2020 | #24 |
Новый участник Сообщения: 44
|
Профиль | Отправить PM | Цитировать Спасибо вам небожители что снисходите со своей помощью к нам - простым смертным.
Без вас я бы точно не справился. И так много ответов. Теперь буду сидеть с Спасибо большое. |
Отправлено: 14:25, 12-09-2020 | #25 |
Забанен Сообщения: 793
|
Хотя megaloman уже предлагал решение на командном языке, сам он посетовал на объём кода. В принципе, кое-какие моменты им были намечены правильно (например, регулярка для восьмизначного числа), но многое можно нивелировать.
@echo off setlocal enabledelayedexpansion :: массив ссылок, индексация начинается с единицы set "url.1=https://site.com/user/anything/anything" set "url.2=https://anything.site.com/anything-anything-12345678/anything" set "url.3=https://anything.site.com" :: перебираем массив URL'ов call:foreach "set url" endlocal exit /b :foreach for /l %%i in (1,1,3) do ( (%~1.%%i|>nul findstr /rc:"-[0-9]*/")&&(echo:%%~i - number)||( for /f "tokens=2,3 delims=/" %%j in ('%~1.%%i') do ( if [%%k] neq [] ( echo:%%~i - user ) else echo:%%~i - subdomain ) ) ) exit /b Если перетасовать элементы массива, например, так: ... set "#=!url.1!" set "url.1=!url.3!" set "url.3=!url.2!" set "url.2=!#!" :: выводим изменённый массив set url :: снова перебираем массив call:foreach "set url" ... Очевидно, что корректность зависит от токенов и регулярки. Это что касается решения задачи штатными средствами. Относительно сторонних программ\платформ\утилит: очень просто URL'ы разбираются jq, node и минишеллами вроде miniperl или miniruby, а также gawk'ом, - информация к размышлению. |
Отправлено: 15:10, 13-09-2020 | #26 |
|
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
FreeBSD - Распределить процесс на 8 ядер | Dj_smart | Общий по FreeBSD | 0 | 03-10-2010 19:14 | |
Proxy/NAT - Как распределить трафик инета? | Evgen82 | Сетевые технологии | 14 | 15-03-2010 08:24 | |
Два провайдера - как распределить? | hunternew | Сетевые технологии | 6 | 07-02-2010 16:18 | |
UserGate - Распределить Безлимитку по сети | sadamchik | Сетевые технологии | 9 | 20-02-2009 23:00 | |
2 сетевых подключения... как распределить? | DARGO | Сетевые технологии | 1 | 29-05-2006 13:50 |
|