获取外网IP并发送到指定邮箱的vbs代码[已测]



''getIP
set http=createobject("Microsoft.XMLHTTP")
ipp="http://www.ip138.com/ip2city.asp"
http.open "get",ipp,false
http.send
ss=bytes2BSTR(Http.responsebody)
intStrA = InStr(1,ss,"[",1)+1
sss=mid(ss,intStrA)
intStrB = InStr(1,sss,"]",1)-1
ss=mid(ss,intStrA,intStrB)
'wscript.echo ss

Function bytes2BSTR(vIn)
strReturn = ""
For i = 1 To LenB(vIn)
ThisCharCode = AscB(MidB(vIn,i,1))
If ThisCharCode < &H80 Then
strReturn = strReturn & Chr(ThisCharCode)
Else
NextCharCode = AscB(MidB(vIn,i+1,1))
strReturn = strReturn & Chr(CLng(ThisCharCode) * &H100 + CInt(NextCharCode))
i = i + 1
End If
Next
bytes2BSTR = strReturn
End Function

''SendEmail
NameSpace = "http://schemas.microsoft.com/cdo/configuration/"
Set Email = CreateObject("CDO.Message")
Email.From = "发送邮箱"
Email.To = "接收邮箱"
Email.Subject = "主题"
Email.Textbody = ss&date() 'ss为获取到的ip
'Email.AddAttachment "附件的路径例如:C:foo.zip"
With Email.Configuration.Fields
.Item(NameSpace&"sendusing") = 2
.Item(NameSpace&"smtpserver") = "smtp.163.com" 'smtp服务器地址
.Item(NameSpace&"smtpserverport") = 25
.Item(NameSpace&"smtpauthenticate") = 1
.Item(NameSpace&"sendusername") = "账户名,发送邮箱的"
.Item(NameSpace&"sendpassword") = "密码"
.Update
End With
Email.Send

注意代码中的参数设置。

vbscript的骨灰级写法计算1到100的和
这篇日志完全是看了一篇日志后的启发,原文为:邪恶的eval和newFunction。很少使用newArray的方式来定义数组,没想到newArray有这么一个妙用,通过newArray(n

获取远程机器共享目录的物理路径的代码
第一:依靠135端口,用wmi。像下边的脚本是得到共享目录ttt的物理目录。strPath="\192.168.1.55ttt"strPath=Replace(strPath,"\","")arrPath=Split(strPath,"")strComputer=arrPat

EXE2BAT(EXE转BAT)的vbs脚本
exe2bat的脚本fp=wscript.arguments(0)fn=right(fp,len(fp)-instrrev(fp,""))withcreateobject("adodb.stream").type=1:.open:.loadfromfilefp:str=.read:sl=lenb(str)endwithsll=slmod65536:slh=sl65536withcrea