中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-11 12:34
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 怎么生成文件列表和删除列表中的文件? 查看 984 回复 4
楼 主 怎么生成文件列表和删除列表中的文件? 发表于 2007-05-31 11:31 ·  中国 江苏 徐州 电信
初级用户
积分 125
发帖 49
注册 2006-12-24 08:33
19年会员
UID 74424
性别 男
状态 离线
请教大侠:
如何把一个文件夹下的文件及子文件夹的文件以如下形式列到一个文件list.txt中:
1.txt
2.txt
3.txt
123\1.txt
123\2.txt
123\3.txt
...
我试着用dir /s/b来列出,但是前面总是有盘符,怎么能把前面的盘符去掉?
我想用for命令可以做到,可是试了2天了我也没成功,For学得不好。。所以硬着头皮来请教一下,望赐教!!
另外,用什么命令可以把上面的list.txt文件里所包含的文件都删除?
2 发表于 2007-05-31 11:52 ·  中国 湖北 武汉 电信
版主
★★★★★
积分 11,386
发帖 4,938
注册 2006-07-23 17:10
20年会员
UID 59080
状态 离线
1、要去掉盘符可以用for的扩展:
for /f "delims=" %%a in ('dir /s/b *.txt') do @echo %%~pnxa>>list.txt


2、要删除list.txt里面的文件,可以这样:
for /f "delims=" %%a in (list.txt) del "%%a"


[ Last edited by 不得不爱 on 2009-2-22 at 18:52 ]
3 发表于 2009-02-22 18:46 ·  中国 四川 南充 电信
超级版主
★★★★
我爱DOS
积分 5,310
发帖 2,044
注册 2005-09-26 12:00
20年会员
UID 42843
性别 男
来自 四川南充
状态 离线
2、要删除list.txt里面的文件,可以这样:
for /f "delims=" %%a in (list.txt) del /f"%%a"


[ Last edited by 不得不爱 on 2009-2-22 at 18:56 ]
4 发表于 2009-02-23 00:31 ·  中国 福建 三明 电信
初级用户
★★
积分 175
发帖 108
注册 2008-05-19 01:24
18年会员
UID 119060
性别 男
状态 离线
谢谢,可是没有删除文件啊!
5 发表于 2009-02-24 11:46 ·  新加坡
初级用户
积分 33
发帖 30
注册 2009-02-19 09:47
17年会员
UID 139249
性别 男
状态 离线
for /f "delims=" %%a in (list.txt) del /f"%%a"
他少了个DO
应该是
for /f "delims=" %%a in (list.txt) do del /f "%%a"
论坛跳转: