Board logo

标题: for /f中是否可使用通配符? [打印本页]

作者: tianlijian     时间: 2007-3-18 05:19    标题: for /f中是否可使用通配符?

我想显示目下所以有的.txt文件

  Quote:
@FOR /F "usebackq delims= tokens=*" %i IN (*.txt) DO @ECHO %i

这个是错误在for /f的in后面的括号中*好像不能用来当作通配符。在for /d和for /r中都是可以的,不知道我的理解对不对?

于是我采用下面的方法

  Quote:
@FOR /F "usebackq delims= tokens=*"  %i IN (`dir ^| find /i ".txt"`) DO @ECHO %i

这个可以,但有个问题,像a.txt.mp3这样的文件也会显示,不没有更好的解决办法。

[ Last edited by tianlijian on 2007-3-18 at 03:18 PM ]
作者: lxmxn     时间: 2007-3-18 12:06

for /r .\ %a in (*.txt) do @echo %a

作者: oilio     时间: 2007-3-18 22:52
lxmxn兄用到了.,官方解释好像是枚举当前目录
作者: tianlijian     时间: 2007-3-19 04:19

@FOR /F "usebackq delims= tokens=*"  %i IN (`dir ^| find /i ".txt"`) DO @ECHO %i
请为一下|前面为什么要使用^?

[ Last edited by tianlijian on 2007-3-18 at 10:06 PM ]
作者: lxmxn     时间: 2007-3-19 05:40


  Quote:
Originally posted by tianlijian at 2007-3-18 15:19:
[code]@FOR /F "usebackq delims= tokens=*"  %i IN (`dir ^| find /i ".txt"`) DO @ECHO %i[code]
请为一下|前面为什么要使用^?


  for 命令规定: in后面的括号中的命令重定向符(> \ >> \ < \ |)前需要转义,即在其前面加上一个^来实现转义,否则会出错。

作者: Climbing     时间: 2007-3-19 21:45
@FOR /F "tokens=*"  %i IN ('dir *.txt') DO @ECHO %i
作者: 9527     时间: 2007-3-20 05:16
本人理解FOR语句如下:
FOR /F  只对字符串,命令,单个文件进行操作,
for /f .....in ("     ") do ...
for /f .....in (文件名称) do ...
for /f .....in ('命令') do ...
作者: logictianjin     时间: 2007-4-7 11:36


  Quote:
Originally posted by lxmxn at 2007-3-17 11:06 PM:

for /r .\ %a in (*.txt) do @echo %a

for /r . \
.后面的\ 是否可以省略掉?
作者: lxmxn     时间: 2007-4-7 12:41


  Quote:
Originally posted by logictianjin at 2007-4-6 22:36:
for /r . \
.后面的\ 是否可以省略掉?


试试不就知道啦?

作者: logictianjin     时间: 2007-4-10 20:33


  Quote:
Originally posted by lxmxn at 2007-4-6 11:41 PM:


试试不就知道啦?

我觉得如果使用 for /r并且里带有通配符的话 完全可以不用.\ 如果集中没有通配符好象就要加点了 不知道我理解的对不对,我是初学者请指教

[ Last edited by logictianjin on 2007-4-10 at 07:56 AM ]
作者: 6622186     时间: 2007-6-14 13:57
for / f 总是不能完全弄明白.
作者: erpangpang     时间: 2007-6-15 14:33
我觉得 for /r .\
这个跟for /r . 应该是一样的都表是该目录下所有子目录的。。。
for /r \这个表示该盘下所有目录
不知道我的理解是不是正确,指教
作者: HUNRYBECKY     时间: 2009-8-6 23:40
.\表示当前目录及其所有子目录如dir .\你看下就知道了。