怎么用批处理命令删除指定路径不指定某文件夹内的指定文件?

有时候程序会往一个路径比如:C:\ProgramFiles\****\内某某某文件夹写入一些*.123格式的文件。但我不可能将文件夹名称一个个列举出来,所以想问一下怎么用... 有时候程序会往一个路径比如:C:\Program Files\****\内某某某文件夹写入一些*.123格式的文件。
但我不可能将文件夹名称一个个列举出来,所以想问一下怎么用bat自动扫描****文件夹内某某文件夹的所有*.123文件?并且删除
例文件夹1、2、3、4、5、6、7、8、。。。N。这些个文件夹内都有*.123怎么写批处理才能删除这些指定格式文件?千万不要误删根目录、文件夹与非*.123格式文件。
展开
 我来答
jd08139
2013-09-27 · TA获得超过3733个赞
知道大有可为答主
回答量:2174
采纳率:66%
帮助的人:2831万
展开全部
@Echo Off
For /f "tokens*" %%i in ('dir /a-d /b /s "C:\Program Files\*.123"') do (
Echo %%i
Del /q /s /a /f "%%i"
)
Pause

以 C:\Program Files\为例,扫描此目录下所有*.123格式文件,并删除.不会删除其他文件和文件夹.运行时可以看到扫描到那些文件.

更多追问追答
追问
额。。。XP运行时提示此时不应有tokens*"。这是为什么啊?

不知道win7运行时会不会提示了。。。。
追答
@Echo Off
For /f "tokens=*" %%i in ('dir /a-d /b /s "C:\Program Files\*.123"') do (
Echo %%i
Del /q /s /a /f "%%i"
)
Pause
风云无限情62
2013-09-27 · 贡献了超过317个回答
知道答主
回答量:317
采纳率:0%
帮助的人:93万
展开全部
那是因为program files这个文件夹名字中间有空格,用双引号引起来就好了:如del "D:\Program Files\桌面壁纸自动换\11\*.jpg"你这样写非常麻烦用下面的代码就简单多了:@echo offfor /l %%i in (0mquy111) do del "D:\Program Files\桌面壁纸自动换\%%i\*.jpg"pause 就这么一句和你的一大堆的代码作用是一样的!参考资料:hi.baidu.com/ynnal911
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式