Powershell 查找重复的文件


哈希表可以非常方便地查找重复元素,可以把没有出现的元素添加到哈希表中,如果元素已经出现,则给出提示。下面给出一个例子,递归查找C盘Windows目录下文件。

Function Search-duplicate
{
 begin{
  Write-Host "查询开始:"
 $mytable=@{}
 }
 Process
 {
    if($mytable.ContainsKey( $_.Name) )
    {
        write-host "$($_.fullName)已经存在,`n位于: $($mytable[$_.Name]) `n"
    }
    else
    {
        $mytable.Add($_.Name,$_.FullName)
    }
 }
 end {
    write-host "查询结束"
 }
}

ls C:Windows -Recurse | Search-duplicate

部分输出

.......
C:WindowsHelpWindowszh-CNWindows.h1c已经存在,
位于: C:WindowsHelpWindowsen-USWindows.h1c

C:WindowsHelpWindowszh-CNWindows.H1T已经存在,
位于: C:WindowsHelpWindowsen-USWindows.H1T

C:WindowsHelpWindowszh-CNWindows_AssetId.H1K已经存在,
位于: C:WindowsHelpWindowsen-USWindows_AssetId.H1K

C:WindowsHelpWindowszh-CNWindows_BestBet.H1K已经存在,
位于: C:WindowsHelpWindowsen-USWindows_BestBet.H1K

C:WindowsHelpWindowszh-CNWindows_LinkTerm.H1K已经存在,
位于: C:WindowsHelpWindowsen-USWindows_LinkTerm.H1K

C:WindowsHelpWindowszh-CNWindows_SubjectTerm.H1K已经存在,
位于: C:WindowsHelpWindowsen-USWindows_SubjectTerm.H1K

C:WindowsHelpWindowszh-CNwinmeetb.h1s已经存在,
位于: C:WindowsHelpWindowsen-USwinmeetb.h1s

C:WindowsHelpWindowszh-CNwnewue.h1s已经存在,
位于: C:WindowsHelpWindowsen-USwnewue.h1s

C:WindowsHelpWindowszh-CNwu.h1s已经存在,
位于: C:WindowsHelpWindowsen-USwu.h1s

C:WindowsIMEen-US已经存在,
位于: C:Windowsen-US

C:WindowsIMEzh-CN已经存在,
位于: C:Windowszh-CN

C:WindowsIMEIMEJP10help已经存在,
位于: C:WindowsHelp

C:WindowsIMEimekr8dicts已经存在,
位于: C:WindowsIMEIMEJP10DICTS

C:WindowsIMEimekr8help已经存在,
位于: C:WindowsHelp

C:WindowsIMEIMESC5DICTS已经存在,
位于: C:WindowsIMEIMEJP10DICTS

C:WindowsIMEIMESC5HELP已经存在,
位于: C:WindowsHelp

C:WindowsIMEIMETC10DICTS已经存在,
位于: C:WindowsIMEIMEJP10DICTS

C:WindowsIMEIMETC10HELP已经存在,
位于: C:WindowsHelp

C:WindowsIMEzh-CNSpTip.dll.mui已经存在,
位于: C:WindowsIMEen-USSpTip.dll.mui

C:Windowsinfen-US已经存在,
位于: C:Windowsen-US

C:Windowsinfzh-CN已经存在,
位于: C:Windowszh-CN
.......

原文链接:http://powershell.com/cs/blogs/tips/archive/2012/08/30/finding-files-only-or-folders-only.aspx

×用微信扫描并分享
本文链接: https://www.pstips.net/powershell-find-duplicate-file.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

电子邮件地址不会被公开。 必填项已用*标注