将命令输出设置为变量

时间:2014-04-12 08:59:02

标签: batch-file netstat

我有像这样的批处理代码

@echo off
:begin
SET d=netstat -an | find /c "0.0.0.0:80"
rem echo %d%
if %%d == "2" (
    echo true

    pause

    rem exit

) else ( 
    echo false

    pause

    rem GOTO begin
)

我想让net netstat语句输出存储在变量d中,而d成为来自If子句的参数,我的文件有什么问题?

1 个答案:

答案 0 :(得分:2)

您不需要在案例中设置变量。

这应该有效:

netstat -an | find /c "0.0.0.0:80" && echo true || echo False

但是如果你需要在变量中使用这个值,你可以这样做:

@echo off
for /f %%a in ('netstat -an ^| find /c "0.0.0.0:80"') do set D=%%a
if %D% equ 2 (
echo true
) else (
echo false)