前些日子在本坛发了一个如何用批处理发送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发到邮箱,但如果没有联网,那就会出错。如何修改命令使批处理在系统联网的情况下才运行,在没联网的时候不运行或不出错误显示?
原批处理代码:
@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发到邮箱,但如果没有联网,那就会出错。如何修改命令使批处理在系统联网的情况下才运行,在没联网的时候不运行或不出错误显示?
