中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-02 19:08
48,038 主题排行 / 350,123 发帖 / 今日 1 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 遍历当前盘符目录搜寻文件
可打印版本  1,259 / 4
第1楼 junytx 发表于 2006-12-11 12:06
新手上路 发帖 3 积分 6
遍历当前盘符目录搜寻文件
在G:\下有多个目录(有隐藏目录)。
里面也有多层目录,
我想写一个bat以实现:遍历当前盘符目录搜寻某文件(如*.mp3),并生成一个txt文件,打开。

本人水平有限,只能想象这样实行,
先显示出当前所有目录及子目录。
dir /a:d /b /s>tree.txt
再用for依次调用tree.txt的目录,do cd 再用 for找出
问题来了???在for语名里能不能再次调用for命令??
也就是cd一个目标时,实行for %i in (*.mp3) do echo %i>list.txt
尔后继续cd另一个目录,再实行for %i in (*.mp3) do echo %i>>list.txt


刚接触bat不久,好多“术语”用得或许不恰当,希望大家能看懂我的意思。

当然,如果有更好的办法实现该效果的话,也请各位“大师”不吝赐教。
第2楼 zh159 发表于 2006-12-11 13:51
金牌会员 发帖 1,467 积分 3,687
直接“dir/s/b *.mp3>list.txt”不就行了么?!
第3楼 lxmxn 发表于 2006-12-11 14:07
版主 发帖 4,938 积分 11,386

第4楼 lgx8280998 发表于 2006-12-14 10:24
初级用户 发帖 22 积分 52


注意:输入路径不要加\
输入后缀不要加.
如果要带路径请在do dir /b /s
这里加个/S的参数

[ Last edited by lgx8280998 on 2006-12-14 at 10:41 AM ]
第5楼 yy2372575 发表于 2006-12-22 02:54
初级用户 发帖 26 积分 73
是需要列表吗,那需要几个程序,要的话M我,如果输入,如下
dir g:\*.mp3 /b /s >>tmp.txt
其中TMP.TXT可以是任何名,路径。如:c:\t.txt f:\aa.txt等等
如果要显示的话,需加
call w.bat list @tmp.txt:m_dir
w.bat内容
WBAT $W %1 %2 %3 %4 %5 %6 %7 %8 %9
set WBAT=2
set ?=100
这里WBAT是个程序我不知怎么传给你,另外我这是纯DOS下可运行的
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023