在 DOS 命令中,delims 和 tokens 是用于分割字符串的关键字,常用于 for 命令中,特别是在处理文本文件或命令输出时。这两者有着不同的作用:

delims:

delims 是 for 命令中用于定义分隔符的选项。它指定了在处理字符串时用作分隔符的字符集合。当使用 for 命令迭代一个字符串时,系统会根据 delims 中定义的字符将字符串划分为多个部分,每一部分称为一个“标记”(token)。

  •  示例:
  @echo off
  set str=apple,orange,banana
  for /f "tokens=1,2,3 delims=," %%a in ("%str%") do (
      echo Token 1: %%a
      echo Token 2: %%b
      echo Token 3: %%c
  )

  上述示例中,delims=, 表示逗号 , 是分隔符,tokens=1,2,3 表示将字符串划分为三个部分。

tokens=*:

tokens=* 是 for 命令中的一种特殊情况,表示将整个字符串视为一个标记。使用 tokens=* 时,不再进行分隔符分割,而是将整个字符串作为一个标记存储在变量中。

  •  示例:
  @echo off
  set str=apple,orange,banana
  for /f "tokens=*" %%a in ("%str%") do (
      echo Token: %%a
  )

  上述示例中,tokens=* 表示将整个字符串 apple,orange,banana 视为一个标记。

总结:

  •  delims 用于定义分隔符,指定字符串的哪些字符将用于分隔标记。

  
  •  tokens=* 则表示整个字符串作为一个标记,不进行分隔符的处理。


这两者的选择取决于你对字符串的处理需求,如果你需要将字符串拆分为多个部分,则使用 delims 和指定相应的分隔符和标记;如果你想保留整个字符串作为一个标记,则使用 tokens=*。


转载请注明出处:http://www.pingtaimeng.com/article/detail/10078/DOS 命令