快速删除不同文件夹中的重复文件

智能手机的时代,随时都可以拍照,这样就带来一个问题,你需要经常备份这些照片,如果不出所料的话,你可能也很难避免经常每次都备份一份,按照日期命名,堆在一个很大的硬盘里面(或云存储里面),然后里面其实有很多是重复文件。备份这些照片,以及根据家里领导一句话整理或查找照片,我就要忙半天啦。

本文列出的脚本会删除文件,可能存在一定的风险,请你仔细阅读脚本,并且预先做好测试和验证。笔者不对你具体使用脚本导致的意外负有任何责任。.

那么如何快速删除重复文件呢?他们的文件名可能是一样,也可能不一样。但是大家要知道,在计算机眼里,不管你文件名是不是一样,它其实是可以通过一个所谓的哈希值来唯一标识一个文件的。

根据这个原理,我写了一个函数如下,可以很方便地达到这个目的。请在PowerShell 的最新版本窗口中粘贴这段代码。

function Remove-DuplicateFiles {    param(        [Parameter(ValueFromPipeline = $true, Position = 0, Mandatory = $true)]        [string]$path    )
    Write-Host "该脚本会删除文件,可能存在一定的风险,请你仔细阅读脚本,并且预先做好测试和验证。你是否真的确定要运行? (Y/N)"    $yourchoice = Read-Host    if ($yourchoice -ne 'Y') {        Write-Host "你选择了不运行,脚本退出。"        return    }
    Get-ChildItem -Recurse -File  -Path $path`    | Get-FileHash `    | Group-Object -Property Hash `    | Where-Object { $_.Count -gt 1 } `    | ForEach-Object -Parallel { $_.Group | Select-Object -Skip 1 | Remove-Item } }

然后,调用方式如下

快速删除不同文件夹中的重复文件

本文列出的脚本会删除文件,可能存在一定的风险,请你仔细阅读脚本,并且预先做好测试和验证。笔者不对你具体使用脚本导致的意外负有任何责任。