中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何在for....(set) do ...的句式里联接更多文件类型。(已结)
作者:
标题: 如何在for....(set) do ...的句式里联接更多文件类型。(已结) 上一主题 | 下一主题
haiou327
高级用户

DOS时空


积分 713
发帖 348
注册 2007-2-10
状态 离线
『楼 主』:  如何在for....(set) do ...的句式里联接更多文件类型。(已结)


@echo off
set drv=c d e f g h i j k l m n o p q r s t u v w x y z
for %%a in (%drv%) do (
        for /f "delims=*" %%i in ('dir/a-d/b/s %%a:\*.doc') do echo %%i
)
pause
我想查找更多类型的文件,*.txt *.rar *.doc *.excl 在in 后括号如何联接起来。
for /f "delims=*" %%i in ('dir/a-d/b/s %%a:\*.doc,*.txt,*.rar') do echo %%i这样用,联接,只能查到当前目录下第二类型以后的文件

变通了一下改成如下代码
@echo off
set drv=c d e f g h i j k l m n o p q r s t u v w x y z
set file=*.rar *.doc
for %%a in (%drv%) do (
        for /f "delims=*" %%i in ('dir/a-d/b/s %%a:\%file%') do echo %%i>>c:\file.txt
                )2>nul
pause
不成,只能遍历RAR文件

[ Last edited by haiou327 on 2008-8-20 at 08:32 PM ]



欢迎进入我的网盘!!!
2008-8-11 02:00
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (52688226)  编辑帖子  回复  引用回复
ThinKing
中级用户





积分 471
发帖 207
注册 2007-5-3
状态 离线
『第 2 楼』:  

怀疑这个程序是不是有问题,你真的就可以得到每个盘符下的*.doc吗?

2008-8-15 17:50
查看资料  发短消息 网志   编辑帖子  回复  引用回复
haiou327
高级用户

DOS时空


积分 713
发帖 348
注册 2007-2-10
状态 离线
『第 3 楼』:  

第一段是没有问题的!!!!!!!!!!!!!!!!!!!!遍历全磁盘DOC文件.



欢迎进入我的网盘!!!
2008-8-16 01:20
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (52688226)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 4 楼』:  


@echo off
set drv=c d e f g h i j k l m n o p q r s t u v w x y z
for %%a in (%drv%) do (
  for /f "delims=*" %%i in ('dir /a-d /b /s %%a:\*.doc *.txt *.rar') do echo %%i
)
pause




2008-8-16 22:38
查看资料  发短消息 网志   编辑帖子  回复  引用回复
haiou327
高级用户

DOS时空


积分 713
发帖 348
注册 2007-2-10
状态 离线
『第 5 楼』:  

HAT
这种方法我第一时间就试过,就是不能显示第二个类型以后的文件,
我改成如下
set drv=c d e f g h i j k l m n o p q r s t u v w x y z
for %%a in (%drv%) do (
  for /f "delims=*" %%i in ('dir /a-d /b /s %%a:\*.doc *.rar') do echo %%i>>d:\cndos\file.txt
)
pause
可以遍历*.doc       不能遍历*.rar

[ Last edited by haiou327 on 2008-8-17 at 08:32 PM ]



欢迎进入我的网盘!!!
2008-8-17 20:29
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (52688226)  编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 6 楼』:  Re 5楼

我在本机测试的时候,可以匹配所有格式。



2008-8-17 22:29
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 7 楼』:  



  Quote:
Originally posted by HAT at 2008-8-17 22:29:
我在本机测试的时候,可以匹配所有格式。

应该是不行的,再多测试几遍吧。

2008-8-19 18:08
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 8 楼』:  

不能遍历*.rar,是不是一个rar文件都搜索不到?
不知道是否和系统环境有关系,我的环境WinXP SP3 + CMD



2008-8-19 21:27
查看资料  发短消息 网志   编辑帖子  回复  引用回复
lxmxn
版主




积分 11386
发帖 4938
注册 2006-7-23
状态 离线
『第 9 楼』:  



  Quote:
Originally posted by HAT at 2008-8-19 21:27:
不能遍历*.rar,是不是一个rar文件都搜索不到?
不知道是否和系统环境有关系,我的环境WinXP SP3 + CMD

dir /s/b/a-d C:\*.txt *.rar 相当于 dir /s/b/a-d C:\*.txt 和 dir /s/b/a-d *.rar ,前者可以搜索C盘下搜有的txt文件,但是后者却只能搜索当前目录下(包括子目录)中的所有rar文件,当前目录指的就是批处理运行时所处的目录。

2008-8-19 23:55
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
HAT
版主





积分 9023
发帖 5017
注册 2007-5-31
状态 离线
『第 10 楼』:  

多谢版主指点
@echo off
set drv=c d e f g h i j k l m n o p q r s t u v w x y z
for %%a in (%drv%) do (
  for /f "delims=*" %%i in ('dir /a-d /b /s %%a:\*.doc %%a:\*.txt %%a:\*.rar') do echo %%i
)
pause




2008-8-20 00:13
查看资料  发短消息 网志   编辑帖子  回复  引用回复
haiou327
高级用户

DOS时空


积分 713
发帖 348
注册 2007-2-10
状态 离线
『第 11 楼』:  

晕乎了,10楼这样的代码,以前也曾测试过没有成功,
今天一试成功了.
邪了门
@echo off
set drv=c d e f g h i j k l m n o p q r s t u v w x y z
for %%a in (%drv%) do (
  for /f "delims=*" %%i in ('dir /a-d /b /s %%a:\*.doc %%a:\*.xls %%a:\*.rar') do echo %%i
)
pause




欢迎进入我的网盘!!!
2008-8-20 20:23
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (52688226)  编辑帖子  回复  引用回复
haiou327
高级用户

DOS时空


积分 713
发帖 348
注册 2007-2-10
状态 离线
『第 12 楼』:  

还是感谢xmxn和HAT的热心回帖.



欢迎进入我的网盘!!!
2008-8-20 20:31
查看资料  发送邮件  访问主页  发短消息 网志  OICQ (52688226)  编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: