我有一个文本文件(myurls.txt),其内容是如下 URL 列表:
Slides_1: http://linux.koolsolutions.com/svn/ProjectA/tags/REL-1.0
Exercise_1: http://linux.koolsolutions.com/svn/Linux/tags/REL-1.0
Slides_2: http://linux.koolsolutions.com/svn/oldproject/ProjectB/tags/REL-2.0
Exercise_2: http://linux.koolsolutions.com/svn/ProjectB/tags/REL-1.0
Exercise_3: http://linux.koolsolutions.com/svn/BlueBook/ProjectA/tags/REL-1.0
现在我想在 for 循环中解析这个文本文件,以便在每次迭代之后(例如,从上面的文件中获取第一个 url)我将以下信息放入不同的变量中:
%i% = REL-1.0
%j% = http://linux.koolsolutions.com/svn/ProjectA
%k% = http://linux.koolsolutions.com/svn/ProjectA/tags/REL-1.0
经过一些实验后,我得到了以下代码,但它仅在 URL 具有相同数量的斜杠时才有效(有点):
@echo off
set FILE=myurls.txt
FOR /F "tokens=2-9 delims=/ " %%i in (%FILE%) do (
@REM <do something with variables i, j and k.>
)
显然,我需要让它更灵活,以便它可以处理任意 url 长度。我对其他解决方案很好,例如使用 Windows Script Host/VBscript,只要它可以在默认的 Windows XP/7 安装下运行。换句话说,我知道我可以在 Windows 上使用 awk、grep、sed、python 等并完成工作,但我不希望用户必须安装除了标准 Windows 安装之外的任何东西。