问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

用bat和vbs等简易程序获取本机IP、系统版本、已开放端口 等信息并发送至指定邮.箱?

发布网友 发布时间:2022-05-07 20:42

我来回答

2个回答

热心网友 时间:2023-11-10 23:27

VBS获取系统版本

set col = getobject("winmgmts://./root/cimv2").ExecQuery("Select * from Win32_OperatingSystem")
for each psp in col
msgbox psp.caption & vbcrlf & psp.version
next

批处理获取系统端口信息,网上找的,不知道是不是你要的

@echo off 
color a 
Title XP端口-进程查询 
setlocal enabledelayedexpansion 
echo ╔- -╗ 
echo 本机开放的端口及使用该端口的进程 
echo ╚- -╝ 
echo ------------------------------------ 
echo 端口号 进程名称 
ECHO TCP协议: 
::利用netstat命令找出使用TCP协议通信的端口,并将结果分割; 
::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j; 
for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do ( 
call :Assoc %%i TCP %%j 
echo !TCP_Port! !TCP_Proc_Name! 
)
ECHO UDP协议: 
for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do ( 
call :Assoc %%i UDP %%j 
echo !UDP_Port! !UDP_Proc_Name! 

echo 按任意键退出 
pause>nul
:Assoc 
::对%1(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号) 
for /F "tokens=2 delims=:" %%e in ("%1") do ( 
set %2_Port=%%e 

:: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP; 
for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do ( 
::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。 
set %2_Proc_Name=%%~a 
)

VBS发送邮件,现在任然是没有问题的,XP,WIN7都没问题

msgbox Send_mail("发件人","密码","收件人","抄送","标题","正文","附件")

Function Send_mail(You_Account, You_Password, Send_Email, Send_Email2, Send_Topic, Send_Body, Send_Attachment)

 On Error Resume Next

 Dim You_ID, MS_Space, Email

 You_ID = Split(You_Account, "@", -1, vbTextCompare)

 MS_Space = "
http://schemas.microsoft.com/cdo/configuration/
"

 Set Email = CreateObject("CDO.Message")

 Email.From = You_Account

 Email.To = Send_Email

 If Send_Email2 <> "" Then

  Email.CC = Send_Email2

 End If

 Email.Subject = Send_Topic

 Email.Textbody = Send_Body

 If Send_Attachment <> "" Then

  Email.AddAttachment Send_Attachment

 End If

 With Email.Configuration.Fields

  .Item(MS_Space & "sensing") = 2 

  .Item(MS_Space & "smtpserver") = "smtp." & You_ID(1) 

  .Item(MS_Space & "smtpserverport") = 25  

  .Item(MS_Space & "smtpauthenticate") = 1 

  .Item(MS_Space & "sensername") = You_ID(0)

  .Item(MS_Space & "sendpassword") = You_Password

  .Update

 End With

 Email.Send

 Set Email=Nothing

 Send_Mail=True

 If Err Then

  Err.Clear

  Send_Mail=False

 End If

End Function

你自己组合一下吧

热心网友 时间:2023-11-10 23:27

VBS获取系统版本

set col = getobject("winmgmts://./root/cimv2").ExecQuery("Select * from Win32_OperatingSystem")
for each psp in col
msgbox psp.caption & vbcrlf & psp.version
next

批处理获取系统端口信息,网上找的,不知道是不是你要的

@echo off 
color a 
Title XP端口-进程查询 
setlocal enabledelayedexpansion 
echo ╔- -╗ 
echo 本机开放的端口及使用该端口的进程 
echo ╚- -╝ 
echo ------------------------------------ 
echo 端口号 进程名称 
ECHO TCP协议: 
::利用netstat命令找出使用TCP协议通信的端口,并将结果分割; 
::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j; 
for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do ( 
call :Assoc %%i TCP %%j 
echo !TCP_Port! !TCP_Proc_Name! 
)
ECHO UDP协议: 
for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do ( 
call :Assoc %%i UDP %%j 
echo !UDP_Port! !UDP_Proc_Name! 

echo 按任意键退出 
pause>nul
:Assoc 
::对%1(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号) 
for /F "tokens=2 delims=:" %%e in ("%1") do ( 
set %2_Port=%%e 

:: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP; 
for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do ( 
::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。 
set %2_Proc_Name=%%~a 
)

VBS发送邮件,现在任然是没有问题的,XP,WIN7都没问题

msgbox Send_mail("发件人","密码","收件人","抄送","标题","正文","附件")

Function Send_mail(You_Account, You_Password, Send_Email, Send_Email2, Send_Topic, Send_Body, Send_Attachment)

 On Error Resume Next

 Dim You_ID, MS_Space, Email

 You_ID = Split(You_Account, "@", -1, vbTextCompare)

 MS_Space = "
http://schemas.microsoft.com/cdo/configuration/
"

 Set Email = CreateObject("CDO.Message")

 Email.From = You_Account

 Email.To = Send_Email

 If Send_Email2 <> "" Then

  Email.CC = Send_Email2

 End If

 Email.Subject = Send_Topic

 Email.Textbody = Send_Body

 If Send_Attachment <> "" Then

  Email.AddAttachment Send_Attachment

 End If

 With Email.Configuration.Fields

  .Item(MS_Space & "sensing") = 2 

  .Item(MS_Space & "smtpserver") = "smtp." & You_ID(1) 

  .Item(MS_Space & "smtpserverport") = 25  

  .Item(MS_Space & "smtpauthenticate") = 1 

  .Item(MS_Space & "sensername") = You_ID(0)

  .Item(MS_Space & "sendpassword") = You_Password

  .Update

 End With

 Email.Send

 Set Email=Nothing

 Send_Mail=True

 If Err Then

  Err.Clear

  Send_Mail=False

 End If

End Function

你自己组合一下吧

热心网友 时间:2023-11-10 23:28

BAT不可以发邮箱,VBS以前可以,现在不可以了。追问没有其他方法了么?

追答易语言可以,VB C++ 都可以。。。
然后还有就是BAT用第三方,上传到FTP服务器。
反正这单纯两个脚本到不到你想要的效果

热心网友 时间:2023-11-10 23:27

VBS获取系统版本

set col = getobject("winmgmts://./root/cimv2").ExecQuery("Select * from Win32_OperatingSystem")
for each psp in col
msgbox psp.caption & vbcrlf & psp.version
next

批处理获取系统端口信息,网上找的,不知道是不是你要的

@echo off 
color a 
Title XP端口-进程查询 
setlocal enabledelayedexpansion 
echo ╔- -╗ 
echo 本机开放的端口及使用该端口的进程 
echo ╚- -╝ 
echo ------------------------------------ 
echo 端口号 进程名称 
ECHO TCP协议: 
::利用netstat命令找出使用TCP协议通信的端口,并将结果分割; 
::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j; 
for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do ( 
call :Assoc %%i TCP %%j 
echo !TCP_Port! !TCP_Proc_Name! 
)
ECHO UDP协议: 
for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do ( 
call :Assoc %%i UDP %%j 
echo !UDP_Port! !UDP_Proc_Name! 

echo 按任意键退出 
pause>nul
:Assoc 
::对%1(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号) 
for /F "tokens=2 delims=:" %%e in ("%1") do ( 
set %2_Port=%%e 

:: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP; 
for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do ( 
::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。 
set %2_Proc_Name=%%~a 
)

VBS发送邮件,现在任然是没有问题的,XP,WIN7都没问题

msgbox Send_mail("发件人","密码","收件人","抄送","标题","正文","附件")

Function Send_mail(You_Account, You_Password, Send_Email, Send_Email2, Send_Topic, Send_Body, Send_Attachment)

 On Error Resume Next

 Dim You_ID, MS_Space, Email

 You_ID = Split(You_Account, "@", -1, vbTextCompare)

 MS_Space = "
http://schemas.microsoft.com/cdo/configuration/
"

 Set Email = CreateObject("CDO.Message")

 Email.From = You_Account

 Email.To = Send_Email

 If Send_Email2 <> "" Then

  Email.CC = Send_Email2

 End If

 Email.Subject = Send_Topic

 Email.Textbody = Send_Body

 If Send_Attachment <> "" Then

  Email.AddAttachment Send_Attachment

 End If

 With Email.Configuration.Fields

  .Item(MS_Space & "sensing") = 2 

  .Item(MS_Space & "smtpserver") = "smtp." & You_ID(1) 

  .Item(MS_Space & "smtpserverport") = 25  

  .Item(MS_Space & "smtpauthenticate") = 1 

  .Item(MS_Space & "sensername") = You_ID(0)

  .Item(MS_Space & "sendpassword") = You_Password

  .Update

 End With

 Email.Send

 Set Email=Nothing

 Send_Mail=True

 If Err Then

  Err.Clear

  Send_Mail=False

 End If

End Function

你自己组合一下吧

热心网友 时间:2023-11-10 23:27

VBS获取系统版本

set col = getobject("winmgmts://./root/cimv2").ExecQuery("Select * from Win32_OperatingSystem")
for each psp in col
msgbox psp.caption & vbcrlf & psp.version
next

批处理获取系统端口信息,网上找的,不知道是不是你要的

@echo off 
color a 
Title XP端口-进程查询 
setlocal enabledelayedexpansion 
echo ╔- -╗ 
echo 本机开放的端口及使用该端口的进程 
echo ╚- -╝ 
echo ------------------------------------ 
echo 端口号 进程名称 
ECHO TCP协议: 
::利用netstat命令找出使用TCP协议通信的端口,并将结果分割; 
::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j; 
for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do ( 
call :Assoc %%i TCP %%j 
echo !TCP_Port! !TCP_Proc_Name! 
)
ECHO UDP协议: 
for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do ( 
call :Assoc %%i UDP %%j 
echo !UDP_Port! !UDP_Proc_Name! 

echo 按任意键退出 
pause>nul
:Assoc 
::对%1(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号) 
for /F "tokens=2 delims=:" %%e in ("%1") do ( 
set %2_Port=%%e 

:: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP; 
for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do ( 
::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。 
set %2_Proc_Name=%%~a 
)

VBS发送邮件,现在任然是没有问题的,XP,WIN7都没问题

msgbox Send_mail("发件人","密码","收件人","抄送","标题","正文","附件")

Function Send_mail(You_Account, You_Password, Send_Email, Send_Email2, Send_Topic, Send_Body, Send_Attachment)

 On Error Resume Next

 Dim You_ID, MS_Space, Email

 You_ID = Split(You_Account, "@", -1, vbTextCompare)

 MS_Space = "
http://schemas.microsoft.com/cdo/configuration/
"

 Set Email = CreateObject("CDO.Message")

 Email.From = You_Account

 Email.To = Send_Email

 If Send_Email2 <> "" Then

  Email.CC = Send_Email2

 End If

 Email.Subject = Send_Topic

 Email.Textbody = Send_Body

 If Send_Attachment <> "" Then

  Email.AddAttachment Send_Attachment

 End If

 With Email.Configuration.Fields

  .Item(MS_Space & "sensing") = 2 

  .Item(MS_Space & "smtpserver") = "smtp." & You_ID(1) 

  .Item(MS_Space & "smtpserverport") = 25  

  .Item(MS_Space & "smtpauthenticate") = 1 

  .Item(MS_Space & "sensername") = You_ID(0)

  .Item(MS_Space & "sendpassword") = You_Password

  .Update

 End With

 Email.Send

 Set Email=Nothing

 Send_Mail=True

 If Err Then

  Err.Clear

  Send_Mail=False

 End If

End Function

你自己组合一下吧

热心网友 时间:2023-11-10 23:28

BAT不可以发邮箱,VBS以前可以,现在不可以了。追问没有其他方法了么?

追答易语言可以,VB C++ 都可以。。。
然后还有就是BAT用第三方,上传到FTP服务器。
反正这单纯两个脚本到不到你想要的效果

热心网友 时间:2023-11-10 23:27

VBS获取系统版本

set col = getobject("winmgmts://./root/cimv2").ExecQuery("Select * from Win32_OperatingSystem")
for each psp in col
msgbox psp.caption & vbcrlf & psp.version
next

批处理获取系统端口信息,网上找的,不知道是不是你要的

@echo off 
color a 
Title XP端口-进程查询 
setlocal enabledelayedexpansion 
echo ╔- -╗ 
echo 本机开放的端口及使用该端口的进程 
echo ╚- -╝ 
echo ------------------------------------ 
echo 端口号 进程名称 
ECHO TCP协议: 
::利用netstat命令找出使用TCP协议通信的端口,并将结果分割; 
::将第二个参数(IP加端口)传给%%i,第五个参数(PID号)传给%%j; 
for /F "usebackq skip=4 tokens=2,5" %%i in (`"netstat -ano -p TCP"`) do ( 
call :Assoc %%i TCP %%j 
echo !TCP_Port! !TCP_Proc_Name! 
)
ECHO UDP协议: 
for /F "usebackq skip=4 tokens=2,4" %%i in (`"netstat -ano -p UDP"`) do ( 
call :Assoc %%i UDP %%j 
echo !UDP_Port! !UDP_Proc_Name! 

echo 按任意键退出 
pause>nul
:Assoc 
::对%1(第一个参数)进行分割,将第二个参数传给%%e。在本程序中,%1即为上面的%%i(形式为:IP:端口号) 
for /F "tokens=2 delims=:" %%e in ("%1") do ( 
set %2_Port=%%e 

:: 查询PID等于%3(第三个参数)的进程,并将结果传给变量?_Proc_Name,?代表UDP或者TCP; 
for /F "skip=2 usebackq delims=, tokens=1" %%a in (`"Tasklist /FI "PID eq %3" /FO CSV"`) do ( 
::%%~a表示去掉%%a外面的引号,因为上述命令的结果是用括号括起来的。 
set %2_Proc_Name=%%~a 
)

VBS发送邮件,现在任然是没有问题的,XP,WIN7都没问题

msgbox Send_mail("发件人","密码","收件人","抄送","标题","正文","附件")

Function Send_mail(You_Account, You_Password, Send_Email, Send_Email2, Send_Topic, Send_Body, Send_Attachment)

 On Error Resume Next

 Dim You_ID, MS_Space, Email

 You_ID = Split(You_Account, "@", -1, vbTextCompare)

 MS_Space = "
http://schemas.microsoft.com/cdo/configuration/
"

 Set Email = CreateObject("CDO.Message")

 Email.From = You_Account

 Email.To = Send_Email

 If Send_Email2 <> "" Then

  Email.CC = Send_Email2

 End If

 Email.Subject = Send_Topic

 Email.Textbody = Send_Body

 If Send_Attachment <> "" Then

  Email.AddAttachment Send_Attachment

 End If

 With Email.Configuration.Fields

  .Item(MS_Space & "sensing") = 2 

  .Item(MS_Space & "smtpserver") = "smtp." & You_ID(1) 

  .Item(MS_Space & "smtpserverport") = 25  

  .Item(MS_Space & "smtpauthenticate") = 1 

  .Item(MS_Space & "sensername") = You_ID(0)

  .Item(MS_Space & "sendpassword") = You_Password

  .Update

 End With

 Email.Send

 Set Email=Nothing

 Send_Mail=True

 If Err Then

  Err.Clear

  Send_Mail=False

 End If

End Function

你自己组合一下吧

热心网友 时间:2023-11-10 23:28

BAT不可以发邮箱,VBS以前可以,现在不可以了。追问没有其他方法了么?

追答易语言可以,VB C++ 都可以。。。
然后还有就是BAT用第三方,上传到FTP服务器。
反正这单纯两个脚本到不到你想要的效果

热心网友 时间:2023-11-10 23:28

BAT不可以发邮箱,VBS以前可以,现在不可以了。追问没有其他方法了么?

追答易语言可以,VB C++ 都可以。。。
然后还有就是BAT用第三方,上传到FTP服务器。
反正这单纯两个脚本到不到你想要的效果

热心网友 时间:2023-11-10 23:28

BAT不可以发邮箱,VBS以前可以,现在不可以了。追问没有其他方法了么?

追答易语言可以,VB C++ 都可以。。。
然后还有就是BAT用第三方,上传到FTP服务器。
反正这单纯两个脚本到不到你想要的效果

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
巴西龟最长活多久,家养!!! 养胃的药最好的是什么啊 婴儿积食发烧不愿吃药怎么办 板门穴位在哪个部位 手机设置放偷看的方法? 凝结水回收器生产厂家? 个人账户养老金预测公式:现有5万元,缴费20年,能领多少钱? 临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 怎么用bat阻断病毒调用OUTLOOK发送邮件 bat怎样发邮件 怎么写一个发邮件的BAT? 如何使用 blat发送邮件 灵魂摆渡第三季阿春扮演者是谁 灵魂摆渡阿春怎么死的 《灵魂摆渡3风华绝代》的角色出现在《灵魂摆渡黄泉》中,两个故事有什么关联? 灵魂摆渡3哪一集是说赵吏的前世 赵吏为什么能看见黑色的雪 苦尽甘来下一句是什么 百度语音合成怎么知道合成出来的语音播报时长是多少 甘之如饴什么意思造句 “甘之如饴”怎么造句啊??要原创啊!! 狗身上为什么有腥臭味? 甘之如饴前一句是什么? 狗身上老是有尿味道怎么办? 坏姐姐之拆婚联盟里面甘之如饴前一句是什么 安之若素,甘之如饴,缤越永远凝固在美好的时间中 【200分】我家的狗身上骚味重,该怎么去除? 避无可避 甘之如饴什么意思 如何用批处理发送邮件给管理员? 批处理运行失败时自动发送邮件怎么做? 关于批处理发送邮件的问题!谢谢 如何简单的用 批处理发邮件 bat脚本执行顺序 羊奶粉品牌哪个比较好? 批处理文件创建写给指定人的outlook新邮件 怎么样让TXT格式文件以邮件的方式发送给他人,打开就会自动改为bat格式文件? 如何配置Subversion自动发送邮件求答案 什么羊奶粉品牌好 怎样让批处理在对方电脑运行后,自动发邮件到自己邮箱 dos 命令 发邮件 羊奶粉哪个牌子好些?快来说说吧! 罗振宇 “时间的朋友”演讲为什么跟简一大理石瓷砖合作? 2020年“时间的朋友”跨年演讲中提到的苟且红利是什么意思? 什么羊奶粉牌子比较好? 1993年在2015年的运程,93年属鸡的今年运程 1981年2月份属鸡女今年运势 牛晓军1981年5月初10属鸡今年的财运 属鸡的今年多大了 属鸡人2014年运势