怎么用DOS编写一个批处理文件,实现对某一文件夹下的多层文件夹内的文件执行相同的多条命令。
若以下回答无法解决问题,邀请你更新回答
1个回答
展开全部
假定你的文件夹是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
@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是做什么用的,如果是要每个目录下都执行,你写的确实可以。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询