bat是否在for循环不能改变变量的值?

@echo off
setlocal enabledelayedexpansion
set flag=1
(for /f "tokens=1* delims=:" %%h in ('findstr /n "." "my.txt"') do (
set "str=%%i"
echo %flag%
if %flag%==1 (
set flag=0
) else (
echo,%%i
)
))
为什么flag一直都是1啊

for中循环设置变量,需要开启环境变量延迟,开启后,原本变量名两边的百分号就要换成感叹号,这样才能正常使用循环变量的值。

所以 %flag% 必须更改成 !flag!
温馨提示:答案为网友推荐,仅供参考

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网