Войти

Показать полную графическую версию : [решено] найти "крайний слэш", последний и отбростиь все что после.


x0r
17-03-2018, 21:53
Есть способ как найти последний слэш (неважно, последний знак...) на 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
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('/'))


Источник (https://community.spiceworks.com/topic/1330191-powershell-remove-all-text-after-last-instance-of).

megaloman
17-03-2018, 23:02
@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
вот например в переменной (в скрипте он получает параметр на вход через 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
Powershell хорошо.. будем знать. Это надо весь скрипт переписывать, но зато... Благодарю.
megaloman, А-бал-деть http://www.kolobok.us/smiles/big_standart/good2.gif Оч. клёва, благодарю!




© OSzone.net 2001-2012