永发信息网

为什么批处理的for循环中,if defined不起作用

答案:2  悬赏:0  手机版
解决时间 2021-01-30 18:56
  • 提问者网友:心如荒岛囚我终老
  • 2021-01-30 02:06
这是我的批处理,exclude.txt中每行一个字符串
for /f %%i in (exclude.txt) do (
if defined %%i (
echo %%i
)
)
这里没有正确打出变量.

去掉if是可以的
最佳答案
  • 五星知识达人网友:过活
  • 2021-01-30 03:03
说明你没理解被定义的变量是什么变量,这里%%i 代表每一轮循环的内容,if defined %%i 就表示那个exclude.txt里每行内容作为变量是否被定义或说被赋值 比如某行内容是abcd 则判断abcd是否被定义
加一句,当文本中有完全相同行时能显示出重复行,无重复则不显示
for /f %%i in (exclude.txt) do (
  if defined %%i (
    echo %%i
  )else set %%i=y

)
pause
全部回答
  • 1楼网友:掌灯师
  • 2021-01-30 03:27
支持,比如 if defined var (echo yes) else echo no
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯