批处理在for里用if语句

@echo off &setlocal enabledelayedexpansion
for /f "delims= " %%m in (3.txt) do (
set aa=%%m
if !aa!=1032
goto :a
else
goto :b
:a
set aa=!aa:1032=正在共享,表示两者连接着!
echo !aa!
:b
echo !aa!
)
pause

以下是3.txt的文件内容
1032 ESTABLISHED
1166 CLOSE_WAIT
1250 LAST_ACK
1292 TIME_WAIT
1300 TIME_WAIT
1336 SYN_SENT
3309 ESTABLISHED
3328 ESTABLISHED
3850 ESTABLISHED
1746 ESTABLISHED
1747 ESTABLISHED

for循环中不要使用goto语句,否则就回不来了
直接使用if就好了:

::══代══码══开══始═══
@echo off &setlocal enabledelayedexpansion
for /f "delims= " %%m in (3.txt) do (
set aa=%%m
if !aa!==1032 (set aa=%aa:1032=正在共享,表示两者连接着%
echo !aa!) else echo !aa!
)
pause
::Coded By escortmnm from VBS团队
::══代══码══结══束═══
温馨提示:答案为网友推荐,仅供参考
相似回答