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


    情景

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

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

    1. @echo off
    2. ::启用变量延迟 !variable!
    3. SETLOCAL ENABLEDELAYEDEXPANSION
    4. echo 监控日期:%date:~0,10%>>TCP.txt
    5. ::intervalTime间隔时间(秒)
    6. set intervalTime=60
    7. :start
    8. ::if循环300次,每次间隔intervalTime秒
    9. set /a n+=1
    10. if %n% leq 300 (
    11. ::每个批处理命令结果赋值给变量
    12. for /F %%i in ('netstat -ano ^|find /i /c "TIME_WAIT"') do ( set tcp1=%%i)
    13. for /F %%i in ('netstat -ano ^|find /i /c "ESTABLISHED"') do ( set tcp2=%%i)
    14. for /F %%i in ('netstat -ano ^|find /i /c "LISTENING"') do ( set tcp3=%%i)
    15. :: ^|为转义,将上面3个cmd的命令结果写入到txt文件中
    16. echo Time:%time:~0,2%:%time:~3,2%:%time:~6,2%^|TCP_TIME_WAIT:!tcp1!^|TCP_ESTABLISHED:!tcp2!^|TCP_LISTENING:!tcp3! >> TCP.txt
    17. ::间隔时间
    18. choice /t %intervalTime% /d y /n >nul
    19. goto :start)

    运行效果图:

    另一种写法:

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

     

  • 相关阅读:
    htb-nineveh
    pytorch中.size()、.item、argmax()、.cpu()、.detach()和.data的使用
    基于Leaflet 和 PostGIS 的服务端 Web GIS 应用程序开发教程
    全屏组件封装(react18+antd)
    【每日OJ —— 225.用队列实现栈(队列)】
    初级前端面试题(三)
    一文搞懂jQuery
    可燃气体报警器检定检验:江门工业安全新保障的实践与思考
    PyTorch语音识别的理论基础——MFCC
    对字符数组进行冒泡排序
  • 原文地址:https://blog.csdn.net/baidu_31295661/article/details/127708837