使用FINDSTR这个BAT文件出了什么问题?

时间:2011-10-19 20:12:22

标签: batch-file

我需要输入一个链接列表,这些链接转到类似格式的页面,内容与一个标签不同。

修改

input.txt
/category/apples-and-oranges.html
/category/pineapples.html
/category/asparagus.html
/category/brussel-sprouts.html
/category/passion-fruit.html

假设涉及水果的页面有<h1>Fruit!</h1>而非水果页面没有,但它们属于一个类别。该程序将检查http://www.mysite.com的扩展名,然后创建一个新列表:

output.txt
/category/apples-and-oranges.html
/category/pineapples.html
/category/passion-fruit.html

这是我到目前为止所得到的:

for /f %%A in (input.txt) DO (
    for "tokens=1,2 delims=:" %%b in ('FINDSTR [/R] [/I] [/S] [/C:"<H1>.*Fruit!.*</H1>"] [[http://]www.mysite.com/%%A[*.html]]') DO (
    echo ^<%%A> > <output.txt>
)

1 个答案:

答案 0 :(得分:3)

您的方法存在一些问题。首先,FINDSTR无法在远程URL中找到。所以你需要下载它们。

从以下代码开始,使用CURL进行下载,以帮助您入门。

@echo off
FOR /F %%A in (input.txt) DO (
  curl --output temp.html http:www.mysite.com/%%A 
  FOR /F "tokens=1,2 delims=:" %%B in ('FINDSTR /I /R "<H1>.*Fruit.*</H1>" temp.html') DO (
    ECHO %%A
  )
)

修改

cURL 不是Windows命令,它是外部实用程序。 http://en.wikipedia.org/wiki/CURL。你需要安装它。还有一个众所周知的网络下载工具, GNU Wget http://en.wikipedia.org/wiki/Wget。有关更多选项,请在Superuser.com https://superuser.com/questions/299754/wget-curl-alternative-native-to-windows

上查看此问题