个人认为/f开关是for所有开关中最重要的一个,对于新手甚至部分老手要掌握这个/f开关的所有参数及其用法是有一定难度的。。。
关于eol,usebackq,skip,tokens,delims这五个/f开关下的参数,记得cn-dos的9527有一篇 ...
batman 发表于 2011-5-25 19:30 
基于for的参数不需要空格分隔的理论基础,老兄这说法也大有问题,而且哪怕用上空格来分隔,似乎也不惧:- @echo off
- for /f "delims=, tokens=1,2 eol=e skip=1" %%a in ('
- "echo skip&echo eol&echo 显 示,不显示"
- ') do echo %%a
- pause
复制代码 该显示的仍然显示了,不该显示的也同样没有显示,并不因为“delims=,”后跟空格而造成误判。看来for对于参数的划分有点像cmd对于重定向的划分,虽然在cmd回显中看不到,但是我想,for对参数的划分应该也是和cmd同样的从预处理到执行的步骤:
1、转换分隔符为空格,如果不存在分隔符则自动加上空格(就像cmd会把“echo>nul 不显示”预处理成“echo 不显示 1>nul”一样)
2、读取参数#@!@@#¥!……
另外,顺便提一个疑惑,如果for真的是函数,如何解释for在语块中不能对其参数使用带有延迟性质的变量呢? |