[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
回复 1# zhaokeistc


    我猜想LZ是笔误,丢了if中的一个等号,
可逗号又在给你捣蛋。

TOP

回复 5# zhaokeistc


    一个等号是赋值运算,两个等号是比较运算;
    逗号直接暴露在命令行上为特殊字符(命令分隔符),用双引号包括才不会产生歧义;
    像楼上的那样修改代码后,逗号就不兴风作浪了。

TOP

回复 11# zhaokeistc

进行遍历变量“var”,下面的代码都不需要引号,你看看
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set var=haha,haha1,haha2
  4. for %%i in (%var%) do (@rem 只要变量“var”中,有一个完全匹配“haha”的,就跳转。
  5.     if %%i==haha (echo haha&pause&goto :eof)
  6. echo %%i
  7. )
  8. pause
复制代码
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. set var=haha,haha1,haha2
  4. for %%i in (%var%) do (@rem 只有变量“var”的整个值完全匹配“haha”时,就跳转。
  5.     set a=!var:,=!&if !a!==%%i if %%i==haha (echo haha&pause&goto :eof)
  6. echo %%i
  7. )
  8. pause
复制代码

TOP

返回列表