使用批处理 PING 远程桌面客户端

使用批处理 PING 远程桌面客户端

我想创建批处理文件来从办公室的工作站(RDP 主机)ping 我的 PC(RDP 客户端),但我的 PC IP 每次连接都会改变(因为使用了 VPN)

所以我想将我在互联网上找到的这两个命令合并到我的批处理文件中

netstat -n | find ":3389" | find "ESTABLISHED"

结果:

TCP yyy.yyy.yyy.yyy:3389 xxx.xxx.xxx.xxx:57893 已建立
并将 xxx.xxx.xxx.xxx 值(我的电脑 IP)移动到以下命令

ping -t xxx.xxx.xxx.xxx|cmd /q /v /c "(pause&pause)>nul & for /l %%a in () do (set /p "data=" && echo(!date! !time! !data!)&ping -n 2 xxx.xxx.xxx.xxx>nul"

因此我的 ping 结果将是这样的:

Thu 11/12/2020 15:42:04.69 Reply from xxx.xxx.xxx.xxx: bytes=32 time=29ms TTL=125

答案1

在此处输入图片描述

您将需要循环两次for以获得所需的输出,一次获取并使用命令的输出netstat,另外一次编写ping命令:

@echo off

title <nul & title ..\%~nx0
%__AppDir__%mode.com concols=82lines=10

%:^0 < :: loop replace flag "-t" in ping.exe cmd :: >
for /f skip^=1tokens^=4delims^=:^  %%i in ('^^^< nul ^^^
%__AppDir__%netstat.exe -n^|%__AppDir__%find.exe ":3389"^|%__AppDir__%find.exe "ESTABLISHED"
')do for /f tokens^=* %%I in ('%__AppDir__%ping.exe -n 1 -4 %%i^|%__AppDir__%find.exe "from"
')do ^<nul ^ <con: "%__AppDir__%cmd.exe" /q /v:on /c "echo= !date! !time! %%~I" && goto %:^0

相关内容