我使用Powershell v4.0從我們的驅動器中刪除一些重複文件並生成一些報告。我們的希望是沒有人會關心我們刪除重複的文件 - 但如果他們這樣做,我可以將文件恢復到他們的位置。如何在單個Powershell命令中使用多個函數File-Out和del?
我創建了一個顯示所有重複項的報告。我創建了一個我將保留的所有文件的報告。我創建了所有要刪除的文件的報告。最後我真的做了刪除。
的第一個命令是讓所有我有重複的文件報告:
ls *.*| Get-FileHash | group -Property hash | where { $_.count -gt 1 } | % { $_.group | select } | Out-File "c:\users\me\desktop\duplicatelist.txt"
第二個命令是讓所有的文件的報告,我會繼續:
ls *.*| Get-FileHash | group -Property hash | where { $_.count -gt 1 } | % { $_.group[0] | select } | Out-File "c:\users\me\desktop\keep.txt"
第三個命令是讓所有的文件的報告,我會刪除:
ls *.*| Get-FileHash | group -Property hash | where { $_.count -gt 1 } | % { $_.group | select -skip 1} | Out-File "c:\users\me\desktop\delete.txt"
第四條命令是刪除所有重複文件:
ls *.*| Get-FileHash | group -Property hash | where { $_.count -gt 1 } | % { $_.group | select -skip 1} | del
我可以組合多個命令嗎?每次迭代命令需要8小時30分鐘,所以運行4次似乎不是一個好的解決方案。
至少能夠打印出我要刪除的內容,並在同一步驟刪除文件將是一個很好的進步。