找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 29825|回复: 13

[网络连接] 批处理BAT如何批量检测网址是否有500错误?

[复制链接]
发表于 2014-2-23 04:53:40 | 显示全部楼层 |阅读模式


首先先多谢大家帮忙!

问题是这样的:

   有个文件叫   list.txt  里面的内容如下:   www.aaa.com
                                                          www.bbb.com
                                                          www.ccc.com  
                                                          www.ppp.com

               还有个文件 test.txt 内容如下: http://www.test.com/index.php

               现在我想要用用list.txt每一行轮流替换替换test.txt中www.test.com  (比如第一次就是http://www.aaa.com/index.php)
               想要每次替换后就用浏览器打开网址(http://www.aaa.com/index.php)并搜索是否有关键字 " 500错误 " 如果有就把网址 www.aaa.com 输出到 ip.txt 中, 并关闭浏览器,如果没有找到关键字也关点浏览器 并开始下一个测试.
               一直轮回执行完list.txt所以的网址.
发表于 2014-2-23 08:39:33 | 显示全部楼层
搜索是否有关键字 " 500错误 "
这个你没有实际的链接不好弄。http://www.aaa.com/index.php
发表于 2014-2-23 10:56:58 | 显示全部楼层
powershell交流群 183173532
群友 `灵嫈` 帮助你写的powershell脚本,感谢
  1. $list=Get-Content 'C:\code\Powershell\223\list.txt'
  2. $test=Get-Content 'C:\code\Powershell\223\test.txt'

  3. for($i=0;$i -lt $list.count;$i++){
  4.         $testUrl=$test.replace('www.test.com',$list[$i])
  5.         $ie = new-object -com "InternetExplorer.Application"
  6.         $ie.navigate($testUrl)
  7.         $ie.Visible=$true
  8.         $count=0
  9.         while(($ie.readyState -ne 4) -and ($count -lt 60)){
  10.         sleep(1)
  11.         write-host '.' -nonewline
  12.         }
  13.         $doc=$ie.Document.body.outerText
  14.         if (($doc -ne $null) -and $doc.contains('Error 500')){
  15.                 $list[$i] >> 'C:\code\Powershell\223\ip.txt'
  16.         }
  17.         $ie.quit()
  18. }
复制代码
 楼主| 发表于 2014-2-24 06:11:31 | 显示全部楼层
非常感谢 版主 !
 楼主| 发表于 2014-2-24 08:17:26 | 显示全部楼层
好像不能运行啊 ?版主
是批处理吗  开始那里是否少了代码?
求指教
发表于 2014-2-24 09:05:15 | 显示全部楼层
回复 5# mvcc


不是BAT,是PowerShell,你把代码保存为 C:\test.ps1
在 CMD 窗口里面执行:
powershell -f C:\test.ps1
 楼主| 发表于 2014-2-24 10:13:49 | 显示全部楼层
我刚刚安装了 powershell
但还是出错了

Microsoft Windows XP [版本 5.1.2600]
(C) 版权所有 1985-2001 Microsoft Corp.

C:\Documents and Settings\Administrator>powershell -f c:\test.ps1
无法将条目“-f”识别为 cmdlet、函数、可运行程序或脚本文件。请验证该条目,然后重
试。
所在位置 行:1 字符: 3
+ -f  <<<< c:\test.ps1

C:\Documents and Settings\Administrator>powershell -f C:\test.ps1
无法将条目“-f”识别为 cmdlet、函数、可运行程序或脚本文件。请验证该条目,然后重
试。
所在位置 行:1 字符: 3
+ -f  <<<< C:\test.ps1
发表于 2014-2-24 10:45:35 | 显示全部楼层
第一步,把下面这几条语句存成文本文件,如 c:\hello.ps1
第二步,开启powershell脚本运行权限:

用管理员权限!!!打开一个cmd,输入:  

"C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -command "Set-ExecutionPolicy -ExecutionPolicy  RemoteSigned"

"C:\WINDOWS\syswow64\windowspowershell\v1.0\powershell.exe" -command "Set-ExecutionPolicy -ExecutionPolicy  RemoteSigned"









第三步,运行powershell,运行脚本,输入:

"C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe"

在开启的powershell窗口中,输入    c:\hello.ps1

在cmd中 应该使用 "C:\WINDOWS\system32\windowspowershell\v1.0\powershell.exe" -file c:\test.ps1
-f  当然不行。
 楼主| 发表于 2014-2-24 11:47:20 | 显示全部楼层
多谢各位,特别是版主,
让我学到新知识,对我来说还是比较困难,但最终还是运行了,谢谢!
只是运行后没有保存结果到 ip.txt 啊 ?怎么回事呢
发表于 2014-2-24 12:17:19 | 显示全部楼层
回复 9# mvcc


3楼第16行的 C:\code\Powershell\223\ip.txt 改成 C:\ip.txt 试试
 楼主| 发表于 2014-2-24 12:22:59 | 显示全部楼层
我之前就改成这样了C:\ip.txt

$list=Get-Content 'C:\list.txt'
$test=Get-Content 'C:\test.txt'

for($i=0;$i -lt $list.count;$i++){
        $testUrl=$test.replace('www.test.com',$list[$i])
        $ie = new-object -com "InternetExplorer.Application"
        $ie.navigate($testUrl)
        $ie.Visible=$true
        $count=0
        while(($ie.readyState -ne 4) -and ($count -lt 60)){
        sleep(1)
        write-host '.' -nonewline
        }
        $doc=$ie.Document.body.outerText
        if (($doc -ne $null) -and $doc.contains('Error 500')){
                $list[$i] >> 'C:\ip.txt'
        }
        $ie.quit()
}
 楼主| 发表于 2014-2-24 12:29:49 | 显示全部楼层
比如我把问题简单举例 list.txt 内容是

                                                 iphone.91.com
                                           product.pchome.net
                                           iphone.duowan.com
                                           mobile.zol.com.cn

我要找的关键字是iphone
发表于 2014-2-24 12:34:00 | 显示全部楼层
回复 12# mvcc


    11楼代码里面的 Error 500 改成 iphone 试试
 楼主| 发表于 2014-2-24 12:50:16 | 显示全部楼层
本帖最后由 mvcc 于 2014-2-24 12:52 编辑

那个我该了 就是没有保存
要不我具体举例  看看是否能在你们电脑运行 并保存到 ip.txt 现在我增加个点击首页 然后搜索关键字 iphone

有个文件叫   list.txt  里面的内容如下:   www.one020.com
                                                   www.xinguiwang.com
                                                         

               还有个文件 test.txt 内容如下: http://www.test.com/index.php

               现在我想要用用list.txt每一行轮流替换替换test.txt中www.test.com  (比如第一次就是http://www.one020.com/index.php)
               想要每次替换后就用浏览器打开网址(http://www.one020.com/index.php)  点击首页  并搜索是否有关键字 " iphone "
            如果有就把网址 www.one020.com 输出到 ip.txt 中, 并关闭浏览器,如果没有找到关键字也关点浏览器 并开始下一个测试.
               一直轮回执行完list.txt所以的网址.
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-21 05:29 , Processed in 0.032117 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表