windows 系统 ping 加上时间戳并且 cmd 隐藏运行实现方法

本贴最后更新于 1733 天前,其中的信息可能已经渤澥桑田

今天遇到这个需求了,因为有部分电脑网络偶尔出现问题,又不好排查,所以搞了一个这个脚本,感谢各位前辈,善加改进已经可用。
效果如下哦:
pingecho.png

添加一个脚本 vbs。

Dim args, flag, unsuccOut

args=""
otherout=""
flag=0

If WScript.Arguments.count = 0 Then
WScript.Echo "Usage: cscript tping.vbs [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]"
WScript.Echo "                         [-s count] [[-j host-list] | [-k host-list]]"
WScript.Echo "                         [-r count] [-w timeout] destination-list"
wscript.quit
End if

For i=0 to WScript.Arguments.count - 1
args=args & " " & WScript.Arguments(i)
Next

Set shell = WScript.CreateObject("WScript.Shell")
Set re=New RegExp
re.Pattern="^Reply|^Request|^来自|^请求"

Set myping=shell.Exec("ping" & args)

while Not myping.StdOut.AtEndOfStream
   strLine=myping.StdOut.ReadLine()
'WScript.Echo  "原数据" & chr(9) & strLine
   r=re.Test(strLine)
   If r Then
WScript.Echo date & " "& time & chr(9) & strLine
flag=1
   Else
unsuccOut=unsuccOut & strLine
   End if
Wend

if flag = 0 then
WScript.Echo unsuccOut
end if

可复制到文本改成 vbs 后缀即可。使用方法:把脚本放到指定盘符或者目录。使用如下命令:

cscript D:\ping1.vbs www.baidu.com -t >> D:\baidu.txt

然后找到对应文件即可,是一个排查网络稳定性的好方法。

隐藏窗口实现(bat 脚本文件):

@echo off

if "%1" == "h" goto begin
mshta vbscript:createobject("wscript.shell").run("""%~nx0"" h",0)(window.close)&&exit
:begin
REM
echo 日期:%date%

set stryear=%date:~0,4%&set strmonth=%date:~5,2%&
set strday=%date:~8,2%

echo 时间:%time%
set strhh=%time:~0,2%&
set strmm=%time:~3,2%&set strss=%time:~6,2%

set strdatetime = %stryear%%strmonth%%strday%%strhh%%strmm%%strss%
cscript D:\ping.vbs www.baidu.com -t >> D:\baidu--%stryear%%strmonth%%strday%%strhh%%strmm%%strss%.txt

运行这个脚本即可实现没有 cmd 窗口后台运行,亲测。如有需求可添加启动项或者计划任务里面搞一下,这样不用手动去触发,试试监控输出日志信息
(自启动项里我这里添加的是脚本的快捷方式,不然重启后脚本任务报错,快捷方式则不会)。

设置启动项,开机自启动:

start.png

qidongxiang.png

renwuguanliqi.png

  • 网络
    138 引用 • 177 回帖 • 4 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...