我有这样的情况。我在文件中有一个网址列表。
SET str1="http://www.domain.com/dir1/dir2/dir3/dir4/dir5/file1.txt"
在上面的字符串http://www.domain.com/dir1/dir2/dir3
在所有网址中都是常量。
我需要在每个网址中提取剩余的路径。
我的意思是,我需要从上面的网址获取最后一个字符串/dir4/dir5/file1.txt
由于
答案 0 :(得分:9)
您需要%var:~start,end%
表示法。例如,如果你运行这个:
@SET str1="http://www.domain.com/dir1/dir2/dir3/dir4/dir5/file1.txt"
@ECHO %str1:~37,-1%
它会打印/dir4/dir5/file1.txt
。
答案 1 :(得分:5)
或者,您可以使用%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%
输出:
/dir4/dir5/file1.txt