|
nblue
初级用户
积分 117
发帖 37
注册 2006-6-8
状态 离线
|
『楼 主』:
关于用批处理发送IP到邮箱的另一问题?
前些日子在本坛发了一个如何用批处理发送IP到邮箱的问题,得到坛里的朋友们指指点点。本人受益非浅,但本人对这方面的知识实在太菜,还有一问题不能解决。唯有再发此贴请求高人指点。
原批处理代码:
@echo off
for /f "tokens=2 delims=:" %%i in ('"ipconfig|findstr /I /c:"ip address""') do set a=%%i
echo NameSpace="http://schemas.microsoft.com/cdo/configuration/" >1.vbs
echo Set Email=CreateObject("CDO.Message") >>1.vbs
echo Email.From="你发送的邮箱地址" >>1.vbs
echo Email.To="你接收的邮箱地址" >>1.vbs
echo Email.Subject="TEST" >>1.vbs
echo Email.Textbody="%a%" >>1.vbs
echo With Email.Configuration.Fields >>1.vbs
echo ^.Item(NameSpace^&"sendusing")=2 >>1.vbs
echo ^.Item(NameSpace^&"smtpserver")="SMTP地址" >>1.vbs
echo ^.Item(NameSpace^&"smtpserverport")=25 >>1.vbs
echo ^.Item(NameSpace^&"smtpauthenticate")=1 >>1.vbs
echo ^.Item(NameSpace^&"sendusername")="用户名" >>1.vbs
echo ^.Item(NameSpace^&"sendpassword")="密码" >>1.vbs
echo ^.Update >>1.vbs
echo End With >>1.vbs
echo Email.Send >>1.vbs
cscript c:\1.vbs
del c:\1.vbs
问题:在联网的情况下批处理运行后能成功将IP发到邮箱,但如果没有联网,那就会出错。如何修改命令使批处理在系统联网的情况下才运行,在没联网的时候不运行或不出错误显示?
|
|
2006-6-16 11:16 |
|
|
bagpipe
银牌会员
DOS联盟捡破烂的
积分 1144
发帖 425
注册 2005-10-20 来自 北京
状态 离线
|
『第
2 楼』:
把倒数第二句改一下试试:
cscript c:\1.vbs 1>nul 2>nul||echo 发送错误...
没有经过实验,请楼主实验后报告一下情况,谢谢........
|
|
2006-6-16 11:31 |
|
|
bagpipe
银牌会员
DOS联盟捡破烂的
积分 1144
发帖 425
注册 2005-10-20 来自 北京
状态 离线
|
『第
3 楼』:
可以尝试以下代码,上面的可能不成:
@echo off
for /f "tokens=2 delims=:" %%i in ('"ipconfig|findstr /I /c:"ip address""') do set a=%%i
echo on error resume next >1.txt
echo NameSpace="http://schemas.microsoft.com/cdo/configuration/" >>1.vbs
echo Set Email=CreateObject("CDO.Message") >>1.vbs
echo Email.From="你发送的邮箱地址" >>1.vbs
echo Email.To="你接收的邮箱地址" >>1.vbs
echo Email.Subject="TEST" >>1.vbs
echo Email.Textbody="%a%" >>1.vbs
echo With Email.Configuration.Fields >>1.vbs
echo ^.Item(NameSpace^&"sendusing")=2 >>1.vbs
echo ^.Item(NameSpace^&"smtpserver")="SMTP地址" >>1.vbs
echo ^.Item(NameSpace^&"smtpserverport")=25 >>1.vbs
echo ^.Item(NameSpace^&"smtpauthenticate")=1 >>1.vbs
echo ^.Item(NameSpace^&"sendusername")="用户名" >>1.vbs
echo ^.Item(NameSpace^&"sendpassword")="密码" >>1.vbs
echo ^.Update >>1.vbs
echo End With >>1.vbs
echo Email.Send >>1.vbs
echo if err.number^<^>0 then>>1.vbs
echo wscript.echo 发送错误......>>1.vbs
echo wscript.quit >>1.vbs
echo end if >>1.vbs
cscript c:\1.vbs
del c:\1.vbs
没有经过测试,请测试后报告,谢谢
|
|
2006-6-16 12:02 |
|
|
nblue
初级用户
积分 117
发帖 37
注册 2006-6-8
状态 离线
|
『第
4 楼』:
测试平台:WINDOWS XP
测试机型:1,IBM T60(新系统) 2,兼容机
测试次数:20次以上
设原来的批处理为A, 有隐藏错误功能的批处理为B。测试方法:
1,联网情况下:运行A能成功发送IP到邮箱,但有窗口出现,约15秒消失;运行B出现错误提示“c:\1.vbs<18,14>microsoft vbscript 编译器错误:无效字符”,有窗口出现,10秒左右消失窗口。
2,断网情况下:运行A有运行窗口出现,在IBM T60一闪而过,在兼容机需要几秒钟后才消失。运行B时,在IBM T60一闪而过。在兼容机上还没试
|
|
2006-6-16 18:04 |
|
|
nblue
初级用户
积分 117
发帖 37
注册 2006-6-8
状态 离线
|
『第
5 楼』:
我在测试中,发现不是每次运行批处理就会发送IP的。大概运行四五次才有一次成功发送
|
|
2006-6-16 18:05 |
|
|
electronixtar
铂金会员
积分 7493
发帖 2672
注册 2005-9-2
状态 离线
|
『第
6 楼』:
这个应该是 邮件服务器的问题,响应慢了~~我连QQ邮箱也是要尝试5次以上的~~
|
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-6-16 18:12 |
|
|
nblue
初级用户
积分 117
发帖 37
注册 2006-6-8
状态 离线
|
『第
7 楼』:
Quote: | Originally posted by electronixtar at 2006-6-16 18:12:
这个应该是 邮件服务器的问题,响应慢了~~我连QQ邮箱也是要尝试5次以上的~~ |
|
是的
|
|
2006-6-16 18:18 |
|
|
nblue
初级用户
积分 117
发帖 37
注册 2006-6-8
状态 离线
|
『第
8 楼』:
呵呵,那位高手网友bagpipe做了一个佛字,本人依赫尔葫芦画瓢做了一个神字,见笑了
|
|
2006-6-16 18:30 |
|