[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] 批处理命令findstr返回结果为何出错?

本帖最后由 zahirll 于 2012-8-26 21:03 编辑

1.txt里面的内容是:baidu.com
                            www.xxx.com
我想要达到搜索有结果的就返回域名到2.txt
像上面两个域名baidu.com肯定是有结果的,www.xxx.com是无结果的。
遇到两个问题就是不管有没搜到结果都返回到2.txt
还有一个就是 findstr行2太长。。
请高手帮我修改一些,万分感谢。
  1. @echo off
  2. more +9 "%~f0" >GetUrlText.vbs
  3. type nul >2.txt
  4. for /f %%a in (1.txt) do (
  5.     echo 正在检测:%%a
  6.     cscript //nologo GetUrlText.vbs "http://baidu.com/ns?word=site:%%a" | findstr "不存在" && >>2.txt echo,%%a
  7. )
  8. goto :eof
  9. strURL=WScript.Arguments(0)
  10. WScript.Echo strURL
  11. Set objXmlHttp = CreateObject("Microsoft.XMLHTTP")
  12. objXmlHttp.Open "GET",strURL,0
  13. objXmlHttp.Send()
  14. Set objStream = CreateObject("ADODB.Stream")
  15. objStream.Mode = 3
  16. objStream.Type = 1
  17. objStream.Open()
  18. objStream.Write(objXmlHttp.responsebody)
  19. objStream.Position = 0
  20. objStream.Type = 2
  21. objStream.Charset = "utf-8"
  22. strText = objStream.Readtext
  23. WScript.Echo strText
复制代码

  1. @echo off
  2. set "url=http://www.baidu.com/s?tn=baidusite&word=site"
  3. more +9 "%~f0" >a.vbs
  4. for /f %%a in (1.txt) do (
  5.   echo 正在检测:%%a
  6.   cscript //nologo a.vbs "%url%:%%a"|find "抱歉,没有找到">nul||>>2.txt echo %%a
  7. )
  8. del a.vbs&pause&goto :eof
  9. strURL=WScript.Arguments(0)
  10. WScript.Echo strURL
  11. Set objXmlHttp = CreateObject("Microsoft.XMLHTTP")
  12. objXmlHttp.Open "GET",strURL,0
  13. objXmlHttp.Send()
  14. Set objStream = CreateObject("ADODB.Stream")
  15. objStream.Mode = 3
  16. objStream.Type = 1
  17. objStream.Open()
  18. objStream.Write(objXmlHttp.responsebody)
  19. objStream.Position = 0
  20. objStream.Type = 2
  21. objStream.Charset = "utf-8"
  22. strText = objStream.Readtext
  23. WScript.Echo strText
复制代码

TOP

代码有点问题,有些存在上面关键字的也输出了

TOP

返回列表