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

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



首先先多谢大家帮忙!

问题是这样的:

   有个文件叫   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所以的网址.

搜索是否有关键字 " 500错误 "
这个你没有实际的链接不好弄。http://www.aaa.com/index.php

TOP

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. }
复制代码
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

非常感谢 版主 !

TOP

好像不能运行啊 ?版主
是批处理吗  开始那里是否少了代码?
求指教

TOP

回复 5# mvcc


不是BAT,是PowerShell,你把代码保存为 C:\test.ps1
在 CMD 窗口里面执行:
powershell -f C:\test.ps1

TOP

我刚刚安装了 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

TOP

第一步,把下面这几条语句存成文本文件,如 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  当然不行。
脚本是写给人看的,是写给用户看的,而不是写给机子看的
用户能看懂、会修改的脚本,才是好脚本。
写易懂的powershell脚本帮人解决问题,进而让用户学会自渔,吾所愿也

TOP

多谢各位,特别是版主,
让我学到新知识,对我来说还是比较困难,但最终还是运行了,谢谢!
只是运行后没有保存结果到 ip.txt 啊 ?怎么回事呢

TOP

回复 9# mvcc


3楼第16行的 C:\code\Powershell\223\ip.txt 改成 C:\ip.txt 试试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

我之前就改成这样了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()
}

TOP

比如我把问题简单举例 list.txt 内容是

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

我要找的关键字是iphone

TOP

回复 12# mvcc


    11楼代码里面的 Error 500 改成 iphone 试试
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 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所以的网址.

TOP

返回列表