如何使用DOS命令删除文件夹下文件数量少于6的子文件夹
答案:2 悬赏:30 手机版
解决时间 2021-03-05 14:04
- 提问者网友:書生途
- 2021-03-04 21:07
如何使用DOS命令删除文件夹下文件数量少于6的子文件夹
最佳答案
- 五星知识达人网友:封刀令
- 2021-03-04 21:33
dir /a-d /b|find /v /c "" 这样可以统计一个目录下的文件数量。
用一个for遍历文件夹,一个for判断数目,比较后删除即可。
@echo off
for /f "delims=" %%a in ('dir /b /ad') do (
for /f "delims=" %%b in ('dir /a-d /b "%%~a"^|find /v /c ""') do if %%b lss 6 rd /q /s "%%~a"
)
用一个for遍历文件夹,一个for判断数目,比较后删除即可。
@echo off
for /f "delims=" %%a in ('dir /b /ad') do (
for /f "delims=" %%b in ('dir /a-d /b "%%~a"^|find /v /c ""') do if %%b lss 6 rd /q /s "%%~a"
)
全部回答
- 1楼网友:渊鱼
- 2021-03-04 22:52
乍看这个问题简单,其实要了解整个流程,比如考虑到文件夹的逻辑结构.
其实我个人认为,还是用手动比较好,做成bat批处理,反倒麻烦点,要考虑到一些循环,如果可以的话,我可以介绍我自己的方法手动的和bat批处理:
cd 文件夹名
del /s/f/q *.*
dir /b
cd …… rem 循环上面的步骤进入子文件夹继续del
实例:
手动
比如在我d盘内有个文件夹file
内有一些文件和子文件夹file1,file2,file3
解:
开始键+r 输入 cmd
d:
cd file
del /s/q/f *.*
cd file1
del /s/q/f *.*
cd ../file2
del /s/q/f *.*
cd ../file3
del /s/f/q *.*
如果说想要用批处理的话,那也要知道其原本的文件夹位置:
比如那个文件夹的位置为:d:\file
那你可以这样处理成bat文件
rem del 处理 d:\file
d:
cd d:\file
del /f/s/q *.*
cd d:\file
del /f/s/q ***/*/*.*
.
.
.
以此类推
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯