回复 7# 539956485
不是这样子理解的。比如这一句:- for /f "tokens=3*" %%h in ('vol c:^|find "驱动器"') do echo,%%h
复制代码 是将vol命令执行的结果"驱动器 c 中的卷是 D^F"再传给for处理
因为for语句省略了delims选项,默认以空格作为分隔符划分为4节
(或更多,如果"D^F"变成"D^F ABC"的话就是5节)。
tokens=3*的意思是将第3节(即:"中的卷是")开始后的两节:
"中的卷是"赋给变量%%h,"D^F"(或"D^F ABC")赋给%%i。
所以这条语句最后执行的结果显示的是:中的卷是
如果改成:- for /f "tokens=2*" %%h in ('vol c:^|find "驱动器"') do echo,%%h
复制代码 显示的就是:c
建议学习一下置顶贴"批处理for语句从入门到精通",定会有收获。 |