怎么用DOS编写一个批处理文件,实现对某一文件夹下的多层文件夹内的文件执行相同的多条命令。

多条命令如:del*.log文件,del*.crc文件,执行purge命令... 多条命令如:del *.log文件,del *.crc文件,执行purge命令 展开
 我来答
若以下回答无法解决问题,邀请你更新回答
syht2000
高粉答主

2013-05-03 · 关注我不会让你失望
知道大有可为答主
回答量:3万
采纳率:79%
帮助的人:1.4亿
展开全部
假定你的文件夹是d:\sample,bat内容如下
@echo off
cd /d "d:\sample"
for /r %%a in (*.log;*.crc) do @del %%a
purge

只是如果你只要这样的,del原本就支持删除多目录文件的,可以改成
@ech off
del /q /s d:\sample\*.log
del /q /s d:\sample\*.crc
purge

注:这样写前提是purge所在的位置要被你加入环境变量的path中,如果你没有加,purge就要指明所在的位置,比如d:\xxx\xxx\purge
追问
按照第1段的组合运行了一下,好像purge没有增加到for循环中(这样的话PURGE只是在起始目录中起作用);
将第1段和第2段的内容组合后形成下面的bat,运行了一下,达到了要求。
@echo off
del /s/q *.crc
del /s/q *.log
setlocal enabledelayedexpansion
for /r %%a in (.) do cd %%a & purge

还是挺感谢的,以前没有用过dos批处理,看了一两天的dos批处理了,还是没有搞定,结合syht2000兄的解答,终于达到想要的效果了。
追答
哦,这个偶倒不清楚purge是做什么用的,如果是要每个目录下都执行,你写的确实可以。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式