【发布时间】: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
这是我的代码:
@echo off
netstat -a -n | find /c "127.0.0.1:80"
pause
它在我的 CMD 中返回 1 个值。我想制作 IF 条件,例如,如果返回值为 1,则执行此操作,如果为 0,则执行此操作。你们能帮帮我吗?
【问题讨论】:
标签: windows batch-file
你可能只使用这个结构:
NetStat -na | Find "127.0.0.1:80" >Nul && (
Echo Found
) || (
Echo Not found
)
将Echo Found 更改为一个或多个匹配所需的命令,将Echo Not found 更改为无连接匹配所需的命令,如下所示:
根据您的具体要求,您可以将 -na 替换为 -np TCP
顺便说一句,您的脚本返回的值来自 find 而不是来自 netstat。
【讨论】:
将命令包装在 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
【讨论】: