哈希表可以非常方便地查找重复元素,可以把没有出现的元素添加到哈希表中,如果元素已经出现,则给出提示。下面给出一个例子,递归查找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
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!