中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 脚本中打开网页并返回是否打开的信息到txt文件
作者:
标题: 脚本中打开网页并返回是否打开的信息到txt文件 上一主题 | 下一主题
niuji
初级用户





积分 52
发帖 14
注册 2006-8-7
状态 离线
『楼 主』:  脚本中打开网页并返回是否打开的信息到txt文件

在脚本中写

start http://www.163.com

请问执行打开网页后怎样把一个执行成功与否的信息返回到e:/niuji/1.txt


不能打开网页:
1.txt的内容为:FAILED

能打开网页:
1.txt的内容为:SUCCESS

该怎么做呢?
苦恼~
谢谢

2006-8-16 16:04
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 2 楼』:  

  用判断对应的cookies文件修改时间这个方法可能行得通。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-8-16 16:52
查看资料  发短消息 网志   编辑帖子  回复  引用回复
electronixtar
铂金会员





积分 7493
发帖 2672
注册 2005-9-2
状态 离线
『第 3 楼』:  

是否打开 究竟具体指什么呢?能访问这个地址?地址有效?网络通常,还是其他的?影响网页验证的原因很多,还有很多是和IE有关的。

如果楼主的问题是是否IE打开了这个页面,在 Temporary Internet Files下面去找相关临时文件是个好注意!

[ Last edited by electronixtar on 2006-8-16 at 17:11 ]




C:\>BLOG http://initiative.yo2.cn/
C:\>hh.exe ntcmds.chm::/ntcmds.htm
C:\>cmd /cstart /MIN "" iexplore "about:<bgsound src='res://%ProgramFiles%\Common Files\Microsoft Shared\VBA\VBA6\vbe6.dll/10/5432'>"
2006-8-16 17:06
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 4 楼』:  

  如果把能否打开网页理解为是否能把网络上的网页在本地打开,那么,以下代码可能会比较有用(测试某些网站时判断失误,比如http://www.eyou.com/)。
@echo off
:: 当cookie文件创建之后的下一秒是下一分钟的话
:: 这段代码会出错,不过如此低的几率还是可以忍受:)
if not exist e:\niuji md e:\niuji>nul 2>nul
if exist E:\niuji\1.txt del /q E:\niuji\1.txt
setlocal enabledelayedexpansion
set input=
set input=http://www.163.com
start %input%
for /f "delims=. tokens=1*" %%i in ("%input%") do set site=%%j
for /f "delims=. tokens=1*" %%i in ("%site%") do set net=%%i
set root="%userprofile%\cookies"
pushd %root%
set num=0
:loop
set /a num+=1
ping 127.1 -n 3 >nul 2>nul
if %num% gtr 4 echo FAILED>e:\niuji\1.txt && goto end
if not exist %username%@*%net%*.txt goto loop
for %%i in (%username%@*%net%*.txt) do (
    find /i "%site%" %%i>nul 2>nul && (
      if %time:~0,2% lss 10 (
        if "%date% 0%time:~1,4%"=="%%~ti" (echo SUCCESS>e:\niuji\1.txt) else (echo FAILED>e:\niuji\1.txt)
        goto end
      )
      if %time:~0,2% geq 10 (
        if "%date% %time:~0,5%"=="%%~ti" (echo SUCCESS>e:\niuji\1.txt) else (echo FAILED>e:\niuji\1.txt)
        goto end
      )
    )
)
:end
popd
start e:\niuji\1.txt
[ Last edited by namejm on 2006-8-17 at 02:46 ]



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-8-16 18:58
查看资料  发短消息 网志   编辑帖子  回复  引用回复
niuji
初级用户





积分 52
发帖 14
注册 2006-8-7
状态 离线
『第 5 楼』:  

对的,我的意思就是本地打开!
不好意思,我一开始没表达清楚,给大家添麻烦了

2006-8-17 09:02
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bagpipe
银牌会员

DOS联盟捡破烂的


积分 1144
发帖 425
注册 2005-10-20
来自 北京
状态 离线
『第 6 楼』:  

on error resume next

bag="http://www.163.com"

Set pipe=CreateObject("MSXML2.XMLHTTP")
pipe.open "GET",bag,false
pipe.send

wscript.echo pipe.statusText&vbcr&pipe.status

为什么不用脚本来解决这个问题呢?我觉得脚本在这个方面要比批处理效率高,而且准确性要强,我只给了一段代码,应该够用了,其他的自行修改

2006-8-17 09:23
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
namejm
荣誉版主

batch fan


积分 5226
发帖 1737
注册 2006-3-10
来自 成都
状态 离线
『第 7 楼』:  

我只会用bat,不会用vbs,呵呵。



尺有所短,寸有所长,学好CMD没商量。
考虑问题复杂化,解决问题简洁化。
2006-8-17 11:02
查看资料  发短消息 网志   编辑帖子  回复  引用回复

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


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



论坛跳转: