I have Batch code like this
@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
)
I want make netstat stetment output stored in variable d, and d became parameter from If cluse, What wrong with my file ?
You don't need to set a variable in your case.
This should work :
netstat -an | find /c "0.0.0.0:80" && echo true || echo False
But if you need to have this value in a variable you can do like this :
@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)
来源:https://stackoverflow.com/questions/23028318/set-command-output-as-variable