标题: 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 .\你看下就知道了。