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

用的powershell,请小心测试,大概意思就是对每个子文件夹建个字典d,然后检查图片的md5码,是否出现在字典的keys里,如果不曾出现就新建字典项,如果出现就删除文件。。。
  1. dir A-* -Directory | % {$d=@{};dir $_ | sort -Descending | % {$m=(Get-FileHash $_.FullName -Algorithm MD5).Hash;if($d.ContainsKey($m)){rm $_.FullName}else{$d.Add($m,1)}}}
复制代码

TOP

本帖最后由 wanghan519 于 2023-8-7 16:07 编辑

回复 12# a475012621


    如果说A-1里面的子文件夹一起考虑去重那大概是
  1. dir A-* -Directory | % {$d=@{};dir $_ -File -Recurse | sort -Descending | % {$m=(Get-FileHash $_.FullName -Algorithm MD5).Hash;if($d.ContainsKey($m)){rm $_.FullName}else{$d.Add($m,1)}}}
复制代码
如果A-1里的子文件夹也要分别去重,大概是
  1. dir A-* -Directory | % {$d=@{};dir $_ -File -Recurse | sort -Descending | % {$m=$_.DirectoryName+"\"+(Get-FileHash $_.FullName -Algorithm MD5).Hash;if($d.ContainsKey($m)){rm $_.FullName}else{$d.Add($m,1)}}}
复制代码
1

评分人数

TOP

本帖最后由 wanghan519 于 2023-8-17 04:13 编辑

回复 16# a475012621


    可能是win7里的powershell版本低,不支持一些参数,好像-File就不行,需要稍微改一下,或者下载压缩包的pwsh7版本

或者用busybox-w32,这个好处是可以把sh脚本打包进exe,单独一个600K的exe,放到哪都能用,代码如下,需要小心测试
  1. cd 目标文件夹
  2. find . -type f -exec md5sum {} \; | tac | awk '{m=$1;$1="";sub("^ *","");n=$0;"dirname \""n"\"" | getline;if(++d[$0"/"m]>1){system("rm \""n"\"")}}'
复制代码
1

评分人数

TOP

回复 18# a475012621


    powershell不能运行需要看一下报错是什么。。。
busybox-w32不需要安装,下载个busybox.exe,命令行运行busybox.exe ash后执行上面那串代码就可以,如果要打包需要安装mingw环境,然后把上面那段代码放到文本里,存入项目目录下embed文件夹,再make,出来的busybox.exe就包含那段脚本,可以改名成那个脚本名.exe直接运行,也可以当成busybox.exe来用

TOP

回复 21# a475012621


    这图中是试用busybox ash,这是个Linux shell,要区分大小写,所以大写的CD找不到命令,cd 路径,路径也要注意大小写

TOP

回复 27# a475012621


    可以上传两个没被删除的相同的图片到网盘吗,可能md5sum有些不同

TOP

回复 34# a475012621


    修改了一下powershell代码,一会再试试先比较大小,再算md5,以加快速度
  1. cd 测试
  2. $d=@{};dir -File -Recurse | sort -Descending | % {$m=$_.DirectoryName+"\"+(Get-FileHash $_.FullName -Algorithm MD5).Hash;if($d.ContainsKey($m)){rm $_.FullName}else{$d.Add($m,1)}}
复制代码
1

评分人数

TOP

返回列表