中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-12 07:54
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » FOR命令中使用通配符的问题,在线等待 查看 716 回复 4
楼 主 FOR命令中使用通配符的问题,在线等待 发表于 2009-08-06 22:45 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
19年会员
UID 62249
状态 离线
最近写清理垃圾的批处理,不想一行行的使用DEL命令,所以我想使用FOR命令,但是FOR不能使用通配符,如下代码,高手门看看怎么解决

for %%i in (~*.* *.~* *.??$ *.$$$ *.$a *.$db *.$ed *.$sa *.$vm *.___ *.--- *.@@@ *.@@@ *._mp *.~mp *.#Res) DO (del /f/s/q/a "%systemdrive%\%%i")
2 发表于 2009-08-06 23:19 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
19年会员
UID 62249
状态 离线
呵呵,高手们都隐藏起来了。
3 发表于 2009-08-06 23:41 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
19年会员
UID 62249
状态 离线
还是自己来解决吧,使用FOR的/R参数,非常简单,看来FOR命令还是用的不熟悉

for /r %systemdrive% %%i in (~*.* *.~* *.??$ *.$$$ *.$a *.$db *.$ed *.$sa *.$vm *.___ *.--- *.@@@ *.@@@ *._mp *.~mp *.#Res) do echo "%%i"
for /r %systemdrive% %%i in (*.blk *.bmc *.cln *.cyp *.dmp *.diz *.err* *.ftg *.fts *.fnd *.gid *.gts *.mch *.m_p *.ms *.mtx *.nch *.old *.otm *.prv *.query *.rld *.syd *.temp *.tmp *.udd *.umb *.log) DO echo "%%i"

4 发表于 2009-08-11 12:26 ·  中国 广东 揭阳 电信
初级用户
★★
积分 131
发帖 72
注册 2008-02-24 14:31
18年会员
UID 111317
性别 男
状态 离线
cd /d %systemdrive%\&del /f/s/q/a ~*.* *.~* *.??$ *.$$$ *.$a *.$db *.$ed *.$sa *.$vm *.___ *.--- *.@@@ *.@@@ *._mp *.~mp *.#Res

这样不是很好吗?

del 支持将需要删除的文件路径一起写上的,而不用一条一条的del
5 发表于 2009-08-13 01:08 ·  中国 广东 东莞 电信
银牌会员
★★★
积分 1,179
发帖 442
注册 2006-09-09 22:47
19年会员
UID 62249
状态 离线
Originally posted by lovelymorning at 2009-8-11 12:26:
cd /d %systemdrive%\&del /f/s/q/a ~*.* *.~* *.??$ *.$$$ *.$a *.$db *.$ed *.$sa *.$vm *.___ *.--- *.@@@ *.@@@ *._mp *.~mp *.#Res

这样不是很好吗?

del 支持将需要删除 ...


我这只是一个例子,可删除的文件是放到一个文本文件中的,然后使用FOR来获取。
论坛跳转: