如何用bat批处理,批量删除文件夹里面指定大小以下的小文档? 比如小于21kb的文档批量删除。

如何用bat批处理,批量删除文件夹里面指定大小以下的小文档? 比如小于21kb的文档批量删除。,第1张

@echo off

rem 删除小于4字节的小txt文件(实际是空文件)

for /r %%F in (*) do if %%~zF LSS 21000 echo del "%%F">>list.txt

然后核对下list.txt里是不是你要删除铅陵态的文件名称,如果是的话,把list.txt改成list.bat,双击执行删除,就搞定了汪态。

上图是我刚用过的,删除小于4字节的槐源文本文件的。

系统如果是简体中文。 而且你所有文件都在一个目录,意思没有子文件夹。可大睁以这么办。

像我系统DIR /-C出来之后渣察是下面这样的格式, 如果不是,那你要修改for里面获取大小和文件名的位置了。我这个大小是第三列,文件名是第四列,所以 tokens=3,4

2008/03/01 07:50 5413 idm_0471.inf

2008/03/01 07:52 5415 idm_ed02.inf

2008/02/28 17:57 77824 idm_new.exe

2011/01/17 01:43 165 installdriver_winpe2.bat

2010/10/22 10:16 81422 l1c62x86.cat

2010/10/21 23:46389796 L1C62x86.inf

2010/10/21 23:57 68208 L1c62x86.sys

假设文件全部在D:\AAA\下面

建立批处理123.bat 放如下内容

rem ----------------

rem 1 进入文件夹目录

CD /D D:\AAA\

rem 2 把文件夹内所有文件罗列出来,大小去掉千分位的逗号. 放在dirs.log里面

DIR /-C >dirs.log

rem 3 用循环去找dirs.log里面表的第三列和第四列.

for /滚梁岁f "tokens=3,4 delims= " %%i in (D:\AAA\dirs.log) DO (

rem 4 判断大小是否小于100000000kb

IF /i "%%i" LSS "100000000" (

rem 5 如果小于100000000kbit 那获取一下文件名字

set file1=%%j

rem 6 删除该文件

del %file1% /Q

)

)

:END

rem 7 循环结束后,删除临时log并 暂停

del dirs.log

pause


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12129415.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存