中国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收藏夹链接文件是否失效批处理 www.cn-dos.net/forum ...




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





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

Originally posted by HAT at 2008-11-17 09:35 AM: 检测IE收藏夹链接文件是否失效批处理 www.cn-dos.net/forum ...
你的不支持子文件夹判断吧,还有不能自定义测试路径 昨天我从网上下载了一个别人的收藏夹,有好多分类 刚重新调试完,昨天晚上勿忙没细调试


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兄真够细心。




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




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

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




2008-11-18 09:44
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: