[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] 求助批处理如何删除30分钟内大小一样的文件?

有一个比较奇葩的需求,请各位大佬赐教!

背景:有一个共享文件夹C:\pic,同事们会经常扔很多文件进来,主要是图片(JPG),但是会有大量重复的。

需求:希望弄一个批处理文件,每次运行时,把图片时间在此前30分钟内,且文件大小完全一致的(字节为单位),只保留第一个,后面的删除掉。

不用循环,我打算用任务计划循环运行。

感谢~~

回复 1# dongfangzizhi


    这样做不太严禁吧,大小相等的两张图片很有可能是不同的内容。判断文件的MD5可能更不容易出错。
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

本帖最后由 idwma 于 2021-11-22 21:57 编辑
  1. powershell "dir 'C:\pic'|foreach{if(($_.lastwritetime-(get-date)).TotalMinutes -ge -30){if($a -notcontains $_.length){$a+=@($_.length)}else{del $_.fullname}}}"
复制代码

TOP

回复 3# idwma
太棒了,完美运行!

再问个问题,就是我把这段代码另存为bat运行也OK。所以想问的是,powershell代码的运行方式有哪几种呢?除了PS1右键运行

TOP

回复 3# idwma

再问下,这段代码没有对文件类型做规定对吧?如果要限定只处理jpg或mp4文件呢?

TOP

回复 2# Batcher

是的,md5肯定更严谨。但是速度会慢不少吧,尤其是遇到GB级别的文件

TOP

回复 5# dongfangzizhi

运行方式有多少种不太清楚,用powershell.exe执行是为了兼容老系统
  1. powershell "dir C:\pic\* -inc *.iso,*.exe|foreach{if(($_.lastwritetime-(get-date)).TotalMinutes -ge -30){if($a -notcontains $_.length){$a+=@($_.length)}else{del $_.fullname}}}"
复制代码

TOP

回复 7# idwma

再次完美运行,谢谢啦

TOP

返回列表