中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: 收藏夹死链接检测 上一主题 | 下一主题
bluewaterx
初级用户





积分 132
发帖 68
注册 2008-7-29
状态 离线
『楼 主』:  收藏夹死链接检测


::再丑陋的衣服穿起来也保暖21:59 2008-11-14

@echo off
setlocal enabledelayedexpansion
::动态标题效果,包含子程序ptloot,printtitle,runcommand
if "%1" equ "-title" call :PrintTitle "检 测 指 定 目 录 中 所 有 网 址 是 否 为 无 效 网 址 . . ."
start /b "NewThread" %0 -title
tasklist|findstr "\<cmd.exe\>">"%tmp%\t4.17"

:subMenu
        del /q !tmp!\检测结果.txt >nul 2>nul
        del /q !tmp!\待处理网址.txt >nul 2>nul
        for /f "skip=4 delims=" %%i in ('reg query "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders" /v Favorites') do set favPath=%%i
        set favPath=%favPath:~21%
        cls&echo.&echo. 1.自动检索收藏夹  ( "%favPath%"  默认 )&echo.&echo. 2.检索其他目录&echo.&&set cInput=&set/p cInput=   请选择:
        if not defined cInput call :subM1 & call :subUrlCheck 1
        if %cInput% equ 1 call :subM1 & call :subUrlCheck 1
        if %cInput% equ 2 call :subM2 & call :subUrlCheck 2
        goto subMenu
:subM1
        set varDr=%favPath%&cls&echo.                                                        Email:420751783@qq.com&set cInput=%favPath%&goto :eof
:subM2
        cls&for /l %%i in (1,1,12) do echo.
        set cInput=
        set /p cInput= 托入目录至此:
        if not defined cInput goto subMenu
        set varDr=%cInput%
        goto :eof
:subUrlCheck
        for /l %%i in (1,1,40) do <nul set/p=\/& ping 127.1 -n 1 >nul 2>nul
        echo/
        if %1 equ 2 for /f "delims=" %%i in (!cInput!) do set cInput=%%~i
        if not exist "!cInput!\*.url" goto :subMenu
        for /f "delims=" %%i in ('dir /a-d /s /b "!cInput!\*.url"') do (
                for /f "delims=" %%j in ('type "%%i"') do (
                        set tmpStr=%%j
                        if /i "!tmpStr:~0,3!"=="URL" (
                            <nul set/p=%%~nxi:    wait...
                            <nul set/p=%%i:    wait...>>!tmp!\检测结果.txt 2>nul
                            call :subSendUrl "!tmpStr:~4!")))
        del /q !tmp!\ps.vbs >nul 2>nul
        echo.&for /l %%i in (1,1,34) do <nul set/p=\& ping 127.1 -n 1 >nul 2>nul
        <nul set/p=QQ:420751783
        for /l %%i in (1,1,34) do <nul set/p=/& ping 127.1 -n 1 >nul 2>nul
        for /f "delims=" %%i in (!tmp!\检测结果.txt) do (
                set varUrl=%%i
                if "!varUrl:~-6,1!"=="×" echo "!varUrl:~0,-18!">>!tmp!\待处理网址.txt)
        if exist "!tmp!\待处理网址.txt" (
                set cr=
                set/p cr=是否删除无效网址链接(Y/N^)
                if /i "!cr!"=="y" for /f "delims=" %%i in (!tmp!\待处理网址.txt) do del /s /q "!varDr!\%%~i")
        echo\&pause&goto :eof
:subSendUrl
        Echo Dim strUrl,strST>ps.vbs
        Echo strUrl=%1>>ps.vbs
        Echo Set objXH = CreateObject("Microsoft.XMLHTTP")>>ps.vbs
        Echo objXH.OnReadyStateChange = GetRef("GetStatus")>>ps.vbs
        Echo objXH.Open "GET", strUrl, False>>ps.vbs
        Echo On Error Resume Next>>ps.vbs
        Echo objXH.Send>>ps.vbs
        Echo Set objXH = Nothing>>ps.vbs
        Echo Wscript.echo strST>>ps.vbs
        Echo Sub GetStatus>>ps.vbs
        Echo         If objXH.ReadyState ^<^> 4 Then Exit Sub>>ps.vbs
        Echo         If objXH.Status = 404  Then>>ps.vbs
        Echo                 strST = "×     ">>ps.vbs
        Echo         ElseIf objXH.Status ^< 200 Then>>ps.vbs
        Echo                 strST = "≠     ">>ps.vbs
        Echo         ElseIf objXH.Status ^< 300 Then>>ps.vbs
        Echo                 strST = "√     ">>ps.vbs
        Echo         ElseIf objXH.Status ^< 400 Then>>ps.vbs
        Echo                 strST = "∠     ">>ps.vbs
        Echo         ElseIf objXH.Status ^< 500 Then>>ps.vbs
        Echo                 strST = "≠     ">>ps.vbs
        Echo         ElseIf objXH.Status ^< 600 Then>>ps.vbs
        Echo                 strST = "〓     ">>ps.vbs
        Echo         Else>>ps.vbs
        Echo                 strST = "×     ">>ps.vbs
        Echo         End If>>ps.vbs
        Echo End Sub>>ps.vbs
        <nul set/p=
        cscript //nologo ps.vbs
        cscript //nologo ps.vbs>>!tmp!\检测结果.txt
        goto :eof

:RunCommand
        set/p COMMAND=%cd%^>
        if "%COMMAND%"=="" (
                goto :RunCommand
        ) else (
                if "%COMMAND%"=="exit" (
                        for /f "usebackq tokens=2" %%a in ("%tmp%\t4.17") do set t=%%a
                        del "%tmp%\t4.17"
                        call taskkill /f /pid %%t%% >nul))
        call %COMMAND%
        echo.
        set "COMMAND="
        goto :RunCommand
        exit/b
:PrintTitle
        set s'=%~1&set/a n'=0,t'=n'+1
:ptloop
        call set o'=%%s':~%n'%,1%%&if "%o'%" equ "" goto :PrintTitle
        call title %%s':~0,%t'%%%&set/a n'+=1,t'=n'+1&ping 127.1 -n 1 >nul&goto :ptloop
[ Last edited by bluewaterx on 2008-11-17 at 21:04 ]

2008-11-16 23:23
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bluewaterx
初级用户





积分 132
发帖 68
注册 2008-7-29
状态 离线
『第 2 楼』:  

平均3~5秒钟检测一个网址是否有效
部分运行效果:

清风网络电子书籍.url:    ×
天煞网电子书库.url:    √
赢政天下精品图书.url:    ≠
爱宝宝亲子育儿网.url:    ×
爱儿网.url:    ×
聪明宝贝.url:    √
妈咪网址.url:    ×
女报论坛.url:    ≠
漂亮女人网.url:    ≠
奇奇玩系列网站.url:    √
亲子乐园儿歌下载.url:    ×
瑞丽女性网论坛.url:    ≠
天生宝贝网.url:    √
网妖--新女性-新女权--.url:    ×
中国儿童教育网.url:    ×
中国女性时尚论坛.url:    ≠
ACD股市技术分析俱乐部 软件交流.url:    √
阿榕软件论坛.url:    √
纯真时空论坛.url:    ×
霏凡论坛.url:    √
拂晓雅阁软件下载.url:    ×
汉化新世纪论坛.url:    √

2008-11-16 23:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 3 楼』:  

检测IE收藏夹链接文件是否失效批处理
http://www.cn-dos.net/forum/viewthread.php?tid=40868



2008-11-17 09:35
查看资料  发短消息 网志   编辑帖子  回复  引用回复
bluewaterx
初级用户





积分 132
发帖 68
注册 2008-7-29
状态 离线
『第 4 楼』:  



  Quote:
Originally posted by HAT at 2008-11-17 09:35 AM:
检测IE收藏夹链接文件是否失效批处理
http://www.cn-dos.net/forum/viewthread.php?tid=40868

你的不支持子文件夹判断吧,还有不能自定义测试路径

昨天我从网上下载了一个别人的收藏夹,有好多分类

刚重新调试完,昨天晚上勿忙没细调试

2008-11-17 20:25
查看资料  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 5 楼』:  Re 3楼

1. 那个帖子不是我的:)
2. 建议你在顶楼注明“支持子文件夹判断,还有能自定义测试路径”



2008-11-17 21:09
查看资料  发短消息 网志   编辑帖子  回复  引用回复
BC
中级用户




积分 338
发帖 175
注册 2007-10-21
状态 离线
『第 6 楼』:  

hat兄真够细心。



C:\
C:\Del BC
2008-11-17 21:10
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
dato
高级用户




积分 916
发帖 377
注册 2004-3-8
状态 离线
『第 7 楼』:  

汗竟然不会用,用户界面不友好,



http://dato.ys168.com
google search bot
http://dato.minidns.net/
2008-11-18 09:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: