找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 19156|回复: 7

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

[复制链接]
发表于 2021-11-22 17:21:35 | 显示全部楼层 |阅读模式
有一个比较奇葩的需求,请各位大佬赐教!

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

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

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

感谢~~
发表于 2021-11-22 18:02:17 | 显示全部楼层
回复 1# dongfangzizhi


    这样做不太严禁吧,大小相等的两张图片很有可能是不同的内容。判断文件的MD5可能更不容易出错。
发表于 2021-11-22 19:04:08 | 显示全部楼层
本帖最后由 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}}}"
复制代码
 楼主| 发表于 2021-11-23 11:24:25 | 显示全部楼层
回复 3# idwma
太棒了,完美运行!

再问个问题,就是我把这段代码另存为bat运行也OK。所以想问的是,powershell代码的运行方式有哪几种呢?除了PS1右键运行
 楼主| 发表于 2021-11-23 11:31:17 | 显示全部楼层
回复 3# idwma

再问下,这段代码没有对文件类型做规定对吧?如果要限定只处理jpg或mp4文件呢?
 楼主| 发表于 2021-11-23 11:32:02 | 显示全部楼层
回复 2# Batcher

是的,md5肯定更严谨。但是速度会慢不少吧,尤其是遇到GB级别的文件
发表于 2021-11-23 15:41:40 | 显示全部楼层
回复 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}}}"
复制代码
 楼主| 发表于 2021-11-23 16:35:50 | 显示全部楼层
回复 7# idwma

再次完美运行,谢谢啦
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 19:13 , Processed in 0.016186 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表