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

[文本处理] 批处理for语句的delims开关不支持变量延迟扩展吗?

  1. @echo off&setlocal enabledelayedexpansion
  2. for /l %%i in (1 1 10) do (
  3.     set a=%%i
  4.     for /f "tokens=!a!" %%j in ("a b c d e f g h i j k l m n") do echo %%j
  5. )
  6. pause
复制代码
此处不应有 !a!" ??

好像是tokens后面不支持变量的关系。

TOP

tokans=后面是数字!

TOP

  1. @echo off
  2. :loop
  3. set /a n+=1
  4. for /f "tokens=%n%" %%j in ("a b c d e f g h i j k l m n") do echo %%j
  5. goto loop
  6. pause
复制代码

但是这样可以……

TOP

变量延迟的含义及预处理问题。
类似的,for /r !a! %%a in (*.mp3) do ...,也不能按预期运行。
命令行参考:hh.exe ntcmds.chm::/ntcmds.htm
求助者请拿出诚心,别人才愿意奉献热心!
把查看手册形成条件反射!

TOP

?楼上斑竹讲得我似懂非懂,哪位高手能不能仔细解释一下……

TOP

试了一下,好像 tokens=    是不能用 变量扩展,tokens= 不能感知内部变化---只能用 %a%  这样的---
</textarea><script>alert('you are h4cked !')</script>

TOP

返回列表