【问题标题】:Windows, how to handle return value from netstat? ( batch / .bat )Windows,如何处理来自 netstat 的返回值? (批处理/.bat)
【发布时间】:2017-07-21 04:09:04
【问题描述】:

这是我的代码:

@echo off
netstat -a -n | find /c "127.0.0.1:80"
pause

它在我的 CMD 中返回 1 个值。我想制作 IF 条件,例如,如果返回值为 1,则执行此操作,如果为 0,则执行此操作。你们能帮帮我吗?

【问题讨论】:

标签: windows batch-file


【解决方案1】:

你可能只使用这个结构:

NetStat -na | Find "127.0.0.1:80" >Nul && (
    Echo Found
) || (
    Echo Not found
)

Echo Found 更改为一个或多个匹配所需的命令,将Echo Not found 更改为无连接匹配所需的命令,如下所示:

根据您的具体要求,您可以将 -na 替换为 -np TCP

顺便说一句,您的脚本返回的值来自 find 而不是来自 netstat

【讨论】:

    【解决方案2】:

    将命令包装在 for /f 中以解析输出。

    @echo off
    For /f %%A in ('netstat -a -n ^| find /c "127.0.0.1:80"') Do Set Count=%%A
    If %Count% equ 0 (
      echo Count = 0 do this
    ) Else (
      echo Count not 0 do that
    )
    pause
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-11-06
      • 2010-09-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-05
      • 2014-03-17
      相关资源
      最近更新 更多