У меня такая ситуация.У меня есть список URL-адресов в файле.
SET str1="http://www.domain.com/dir1/dir2/dir3/dir4/dir5/file1.txt"
В приведенной выше строке http://www.domain.com/dir1/dir2/dir3 является постоянным во всех URL-адресах.Мне нужно извлечь остаток пути в каждом URL-адресе.
http://www.domain.com/dir1/dir2/dir3
Я имею в виду, мне нужно получить окончательную строку из приведенного выше URL-адреса: /dir4/dir5/file1.txt
/dir4/dir5/file1.txt
Спасибо
Вам нужна запись %var:~start,end%.Например, если вы запустите это:
%var:~start,end%
@SET str1="http://www.domain.com/dir1/dir2/dir3/dir4/dir5/file1.txt" @ECHO %str1:~37,-1%
Будет напечатано /dir4/dir5/file1.txt.
Кроме того, вы можете использовать синтаксис %variable:str_to_delete=% для удаления строки символов из переменной. Таким образом, вам не нужно полагаться на позиции символов в строке.
%variable:str_to_delete=%
Пример кода:
@echo off set str1="http://www.domain.com/dir1/dir2/dir3/dir4/dir5/file1.txt" :: remove the common part of the path set str2=%str1:http://www.domain.com/dir1/dir2/dir3=% :: remove the quotes set str2=%str2:"=% echo.%str2%
Выход: