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

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

x0r 17-03-2018 21:53 2803983

найти "крайний слэш", последний и отбростиь все что после.
 
Есть способ как найти последний слэш (неважно, последний знак...) на cmd ?
вот например в переменной (в скрипте он получает параметр на вход через set url=%1) будет урл:
Код:

set url=http://185.38.12.60/sec/1521344230/37323234d62abb3587f83d28cc570b3bf412ccc8884c7eb7/ivs/2e/7b/e779770b6aee/hls/tracks-2,4/segment2.ts
Сейчас я тупо считаю буквы и отбрасывают по числу
Код:

set url_part1=%url:~0,-11%
Работает. Но на др. сайте , может быть другое имя у сегментов, другое расширение(вместо ts - mp4 ).
Вопрос: можно чуть универсальней, чтоб не колличесство знаков отбрасывать, а "найти послединй, крайний слэш" и отбросить все что после него ?

DJ Mogarych 17-03-2018 22:01 2803986

Powershell:
Код:

$url = 'http://185.38.12.60/sec/1521344230/37323234d62abb3587f83d28cc570b3bf412ccc8884c7eb7/ivs/2e/7b/e779770b6aee/hls/tracks-2,4/segment2.ts'
$url = $url.Substring(0, $url.lastIndexOf('/'))

Источник.

megaloman 17-03-2018 23:02 2803999

CMD
Код:

@Echo off
cls

Set "url=http://185.38.12.60/sec/1521344230/37323234d62abb3587f83d28cc570b3bf412ccc8884c7eb7/ivs/2e/7b/e779770b6aee/hls/tracks-2,4/segment2.ts"

Call :PathUrl "%url%" "Purl" "Furl"
Echo %Furl%
Echo %url%
Echo %Purl%


Pause
GoTo :Eof

:PathUrl
        SetLocal
        Set "url=%~1"
        EndLocal &Call Set "%~2=%%url:/%~nx1=/%%" &Set "%~3=%~nx1"
GoTo :Eof

Цитата:

Цитата x0r
вот например в переменной (в скрипте он получает параметр на вход через set url=%1) будет урл »

Код:

@Echo off
cls

Call :PathUrl "http://185.38.12.60/sec/1521344230/37323234d62abb3587f83d28cc570b3bf412ccc8884c7eb7/ivs/2e/7b/e779770b6aee/hls/tracks-2,4/segment2.ts"

Pause
GoTo :Eof

:PathUrl
        Set "url=%~1"
        Call Set "url_part1=%%url:/%~nx1=/%%"

        Echo %url%
        Echo %url_part1%
        Echo %~nx1
GoTo :Eof


x0r 18-03-2018 00:01 2804007

Powershell хорошо.. будем знать. Это надо весь скрипт переписывать, но зато... Благодарю.
megaloman, А-бал-деть Оч. клёва, благодарю!


Время: 14:13.

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