【bat批处理】bat脚本编写:循环,间隔,定时自动获取TCP连接并写入本地文件

这篇具有很好参考价值的文章主要介绍了【bat批处理】bat脚本编写:循环,间隔,定时自动获取TCP连接并写入本地文件。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

情景

需要固定时间间隔比如60秒运行一次检测TCP连接数,网上查了下最简单的就是用goto语句,如果不加延时那就是死循环,在文件里面加上延时变量SETLOCAL ENABLEDELAYEDEXPANSION

延时间隔语句为choice /t 60 /d y /n >nul。下面的批处理作用就是每隔60秒获取一次tcp连接数,并写入txt文件。

@echo off
::启用变量延迟 !variable!
SETLOCAL ENABLEDELAYEDEXPANSION
echo 监控日期:%date:~0,10%>>TCP.txt
::intervalTime间隔时间(秒) 
set intervalTime=60 
:start
::if循环300次,每次间隔intervalTime秒
set /a n+=1
if %n% leq 300 (

::每个批处理命令结果赋值给变量
for /F %%i in ('netstat -ano ^|find /i /c "TIME_WAIT"') do ( set tcp1=%%i)
for /F %%i in ('netstat -ano ^|find /i /c "ESTABLISHED"') do ( set tcp2=%%i)
for /F %%i in ('netstat -ano ^|find /i /c "LISTENING"') do ( set tcp3=%%i)
:: ^|为转义,将上面3个cmd的命令结果写入到txt文件中
echo Time:%time:~0,2%:%time:~3,2%:%time:~6,2%^|TCP_TIME_WAIT:!tcp1!^|TCP_ESTABLISHED:!tcp2!^|TCP_LISTENING:!tcp3! >> TCP.txt
::间隔时间
choice /t %intervalTime% /d y /n >nul
goto :start)

运行效果图:

bat定时处理,涉猎-求广,tcp/ip,网络,bat

另一种写法:

@echo off
::启用变量延迟
SETLOCAL ENABLEDELAYEDEXPANSION
echo 监控日期:%date:~0,10%>>TCP.txt
::intervalTime间隔时间(秒) 
set intervalTime=3 
:start
::if循环300次,每次间隔intervalTime秒
set /a n+=1
if %n% leq 300 (
choice /t %intervalTime% /d y /n >nul
echo %time:~0,2%:%time:~3,2%:%time:~6,2% >> TCP.txt
::不换行将TCP的TIME_WAIT:XX写入到TCP.txt
set /p=" TCP_TIME_WAIT:" <nul >> TCP.txt
netstat -ano |find /i /c "TIME_WAIT"  >> TCP.txt
::不换行将TCP的ESTABLISHED:XX写入到TCP.txt
set /p=" TCP_ESTABLISHED:" <nul >> TCP.txt
netstat -ano |find /i /c "ESTABLISHED"  >> TCP.txt 
::不换行将TCP的LISTENING:XX写入到TCP.txt
set /p=" TCP_LISTENING:" <nul >> TCP.txt
netstat -ano |find /i /c "LISTENING" >> TCP.txt 
goto :start)

 文章来源地址https://www.toymoban.com/news/detail-615519.html

到了这里,关于【bat批处理】bat脚本编写:循环,间隔,定时自动获取TCP连接并写入本地文件的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 超详细 批处理文件脚本(bat) 教程(持续更新)

     目录 前言 (1)使用echo输出字符串 (2)使用echo拼接字符串 i)没有变量,直接拼接 ii)有变量,拼接变量  (3)只想打印结果,不想显示回显,可以用@echo off (4)pause 作用是将dos界面暂停关闭 (5)title标识符,用来设置dos的标题 (6)rem用于注释,bat脚本

    2024年02月02日
    浏览(88)
  • BAT批处理脚本自动执行指定路径下程序

    需求来源: 使用nacos+springboot的微服务架构,每次跑程序前要先启动nacos比较麻烦,然后就写了个简单的批处理,双击直接打开一个cmd执行nacos启动命令; 知识点: 1. start cmd /k    启动一个CMD且不关闭cmd 2.start cmd /c    启动一个CMD且关闭cmd 3.  start cmd /k  \\\"命令1 命令2 命令3\\\"

    2024年02月16日
    浏览(52)
  • Shell脚本中文英文多语言国际化和命令行批处理(bash sh cmd bat)中定义函数的简单写法

    有时候为了方便别人使用,我们会选择去编写各种各样的命令行脚本:给Windows用户编写 .bat cmd批处理脚本,给macOS、Linux用户编写 .sh bash shell脚本。 面向国内用户当然应当首选中文作为脚本的显示语言,如果还要支持海外用户使用,那么能提供国际化多语言( i18n )支持那是

    2024年02月08日
    浏览(55)
  • .bat批处理打开多个程序

    作为程序员每天开机都需要打开idea、数据库、xshell等开发软件,操作相对繁琐,于是想起了批处理来帮忙一键启动。 在桌面新建一个txt文件,改后缀名为.bat,并加上下面的代码。 代码一(推荐) 代码执行流程 点击bat文件后先执行第一个语句进入到相应的目录。 执行第二个

    2024年02月11日
    浏览(46)
  • windows bat批处理基础命令学习教程

    1.批处理文件是一个“.bat”结尾的文本文件,这个文件的每一行都是一条DOS命令。可以使用任何文本文件编辑工具创建和修改。 2.批处理是一种简单的程序,可以用 if 和 goto 来控制流程,也可以使用 for 循环。 3.批处理的编程能力远不如C语言等编程语言,也十分不规范。 4

    2024年02月06日
    浏览(58)
  • 快速修改分辨率 Windows bat 批处理

    首先需要两个GitHub上的开源项目 https://github.com/imniko/SetDPI/releases 这个下载realese里的 SetDpi.exe 直链:https://github.com/imniko/SetDPI/releases/download/v1.0/SetDpi.exe https://github.com/RickStrahl/SetResolution 这个直接在仓库里有binary二进制文件 sr.exe 直链:https://github.com/RickStrahl/SetResolution/blob/mast

    2024年02月09日
    浏览(46)
  • Windows 批处理(bat) findstr命令使用教程

    结果: 详细参数列表 参数 参数说明 /B 在一行的开始配对模式。 /E 在一行的结尾配对模式。 /L 按字使用搜索字符串。 /R 将搜索字符串作为一般表达式使用。 /S 在当前目录和所有子目录中搜索匹配文件。 /I 指定搜索不分大小写。 /X 打印完全匹配的行。 /V 只打印不包含匹配

    2024年02月10日
    浏览(73)
  • Windows bat 批处理 日期时间格式化

    有一个批处理脚本,脚本中根据当前日期,动态的生成日志文件, 如:当前是 2023年06月20日,我希望生成的日志文件名为:XX_20230620.log Windows 在批处理中 获取日期和时间的方式如下: echo %time% 输出的时间格式: HH:MM:SS.NN HH :时 MM :分 SS :秒 NN :厘秒(注意不是毫秒,1秒

    2024年02月11日
    浏览(70)
  • Delphi控件安装之BAT(批处理)方式-FastReport

    更多关于Delphi控件安装说明,请看这里。 针对FastReport安装的特别说明 其关联了TeeChart组件,所以须先安装TeeChart,并在FastReprt正确设置(tee.inc) 汉化乱码问题,是官方Resfrcc.exe文件导致(在转换Res目录下xml语言包文件为Delphi的pas文件,换行时把一个汉字从中间分开了)。分

    2024年01月20日
    浏览(39)
  • .bat 批处理 - 查看 MySQL 状态然后启动或关闭

    我的 MySQL 服务名为 MySQL80,具体的以实际为准:

    2024年02月07日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包