中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-06-16 16:44
中国DOS联盟论坛 » DOS疑难解答 & 问题讨论 (解答室) » 如何消除dir生成的文件中的文件后缀名? 查看 879 回复 3
楼 主 如何消除dir生成的文件中的文件后缀名? 发表于 2006-01-22 01:27 ·  中国 广东 肇庆 盈联宽带
中级用户
★★
积分 384
发帖 189
注册 2005-10-19 13:12
UID 43709
性别 男
状态 离线
因为工作需要,我要用批处理生成一个MP3的列表.

我用dir *.mp3 /ON /B >MP3_List.txt

生成的MP3_List.txt中的格式是这样子的.

李琛-窗外.mp3
伍佰-突然的自我.mp3
...............


现向各路高手请教,有什么办法可以去掉MP3_List.txt中xxxxx.mp3中的后缀名??

我记得论坛上以前曾讨论过类似的问题,但我经过好几次不同关键词的搜索都搜不到.

麻烦各位了.
2 发表于 2006-01-22 01:31 ·  中国 广东 肇庆 盈联宽带
中级用户
★★
积分 384
发帖 189
注册 2005-10-19 13:12
UID 43709
性别 男
状态 离线
运行环境XP CMD(v5.1.2600)
3 发表于 2006-01-22 14:21 ·  中国 山西 大同 中移铁通
元老会员
★★★★
Batchinger
积分 4,432
发帖 1,512
注册 2002-10-18 00:00
UID 19
性别 男
状态 离线
Re voiL:

cmd 下枚举文件主名建议使用 for 代替 dir /b ,如:

for %%f in (*.mp3) do echo %%~nf>>MP3_List.txt

如果必须使用 dir /b 产生的列表,也可以使用以下形式:

for %%f in ('dir *.mp3 /ON /B') do echo %%~nf>>MP3_List.txt

但处理带空格的文件名时可能会遇到问题。也可以使用 for /f 分析,用句点做 delims 切分文件名串,但无法保证正确处理主名中含句点的文件名。

for /f "delims=." %%f in ('dir *.mp3 /ON /B') do echo %%f>>MP3_List.txt
※ Batchinger 致 Bat Fans:请访问 批处理编程的异类 ,欢迎交流与共享批处理编程心得!
4 发表于 2006-01-23 12:57 ·  中国 广东 肇庆 盈联宽带
中级用户
★★
积分 384
发帖 189
注册 2005-10-19 13:12
UID 43709
性别 男
状态 离线
这个效果不是很好.

我记得以前好像讨论过类似的问题.

其间好像有使用find命令的...
论坛跳转: