Saya berhenti membuang ruang penyimpanan begitu saya mempelajari trik PowerShell ini
File duplikat adalah beberapa penyebab kebocoran penyimpanan paling licik dan merepotkan di sebuah drive. Mereka mudah menumpuk, dan sulit dihapus jika Anda tidak tahu di mana file asli berada atau berapa banyak salinan yang mungkin Anda miliki. Lebih parah lagi, alat pemulihan penyimpanan bawaan Windows tidak benar-benar melakukan pekerjaan yang baik dalam menemukan dan menghapus file duplikat.
Tentu, Anda mungkin bisa menjalankan pembersihan disk dan mendapatkan kembali beberapa ruang, tetapi itu tidak serta merta akan menyingkirkan file duplikat yang memakan penyimpanan di sekitar drive Anda. Untungnya, ada satu perintah PowerShell yang melakukan semua pekerjaan berat dan menemukan semua file duplikat tersembunyi itu di PC Anda.
Baris kode singkat ini menemukan apa yang memakan penyimpanan Anda
Temukan duplikat Anda dalam sekejap
Tidak ada fungsi bawaan untuk menemukan duplikat di PowerShell. Namun, Anda dapat menggabungkan beberapa perintah bersama-sama untuk membuat pipeline sederhana yang bekerja di PowerShell. Cukup jalankan perintah berikut:
Get-ChildItem -Path "Directory/Path" -Recurse -File | Get-FileHash | Group-Object Hash | Where-Object Count -gt 1 | ForEach-Object { $_.Group }
Selama PowerShell mampu mengakses hash sebuah file menggunakan perintah Get-FileHash, PowerShell dapat membandingkan file dalam direktori tertentu untuk menemukan duplikat. Semua hal lainnya hanyalah saluran yang menghubungkan penemuan file ke hashing ke pengelompokan sehingga hanya duplikat yang sebenarnya yang ditampilkan sebagai hasilnya.
Apa yang sebenarnya dilakukan perintah ini
Beberapa perintah, pipeline sederhana
Perintah dimulai dengan Get-ChildItem -Recurse -File, yang memindai pohon direktori dan mengembalikan setiap file sebagai objek, termasuk yang berada di subfolder. Objek file ini kemudian dikirim ke Get-FileHash yang menghitung hash konten. Anggap hash konten sebagai sidik jari unik dari setiap file yang kemudian digunakan untuk mencari duplikat berdasarkan isi file, bukan nama.
Selanjutnya, Group-Objet Hash memberitahu PowerShell untuk mengelompokkan semua hasil hash tersebut berdasarkan properti Hash mereka, secara efektif mengelompokkan file dengan konten yang sama bersama-sama. Pada titik ini, pipeline memiliki grup di mana beberapa hash muncul sekali dan yang lain muncul beberapa kali, menunjukkan bahwa duplikat telah ditemukan.
Kemudian, Where-Object Count -gt 1 menyaring keluar setiap grup yang hanya memiliki satu file. Akhirnya, ForEach-Object {$_.Group} membuka grup dan mengeluarkan hanya file itu sendiri untuk setiap hash duplikat, sehingga yang Anda lihat di layar adalah daftar objek file yang menunjukkan duplikat Anda. Anda sekarang dapat membaca jalur lengkap, mengalirkannya ke Select-Object untuk dicetak sebagai daftar yang diformat, atau mengekspornya sebagai CSV untuk ditinjau nanti.
Mengapa alat GUI kurang memadai
Antarmuka pengguna itu bagus, tapi pengingat terus-menerus untuk membeli lisensi tidak begitu menyenangkan
Terdapat banyak program pencari duplikat grafis yang tersedia untuk Windows di internet. Dan seringkali, mereka cukup untuk pekerjaan pembersihan sekali pakai. Namun demikian, mereka sering kali disertai iklan atau batasan yang cukup ketat sampai Anda membayar lisensi atau langganan.
Sebagai perbandingan, perintah PowerShell ini hanya menggunakan alat bawaan, aman untuk dijalankan, sepenuhnya transparan, dan dapat dibangun menjadi skrip untuk otomatisasi. Karena ini hanyalah rangkaian cmdlet (perintah ringan dan khusus untuk menjalankan tugas admin sistem tunggal), perintah ini dapat disesuaikan lebih lanjut. Misalnya, Anda dapat menambahkan -Filter *.PDF untuk hanya mencari file PDF atau membuat keluaran lebih mudah dibaca.
Keuntungan lain adalah Anda tetap mengontrol data dan penghapusannya. Baris tunggal mentah yang disebutkan di atas hanya menemukan duplikat, itu tidak menghapusnya, sehingga mengurangi risiko terhapusnya sesuatu yang penting secara tidak sengaja. Jika Anda nyaman dengan PowerShell, Anda dapat memperluas pipeline untuk secara otomatis menghapus semua duplikat dari sebuah file dengan menambahkan Select-Object -Skip 1 | Remove-Item.
Jangan memperlambat PC Anda
Pindai dengan cerdas, tetap aman
Memindai seluruh drive sambil menghitung hash file akan menjadi tugas yang memakan sumber daya. Perintah Get-FileHash harus membaca setiap file untuk menghitung hashnya, yang berarti menjalankannya pada drive besar yang penuh dengan permainan, dokumen, dan media, di antara data lainnya, akan memakan waktu dan menghasilkan banyak aktivitas disk. Jika Anda tidak berhati-hati, ini juga merupakan cara yang sangat cepat untuk menambah siklus tulis pada SSD Anda yang dapat mempersingkat umur pakainya.
Alih-alih menargetkan perintah pada seluruh drive, saya sarankan Anda memindai folder yang lebih kecil saja. Menargetkan lokasi yang sering memiliki duplikat, seperti folder Downloads atau Documents di Windows atau arsip foto Anda, akan menghemat banyak waktu dan usaha.
Untuk keamanan, hindari menjalankan operasi hapus dalam perintah yang sama dengan yang digunakan untuk menemukan duplikat, setidaknya saat Anda masih bereksperimen dengan alur kerja Anda. Lebih baik terlebih dahulu menangkap output ke dalam variabel dan memeriksanya untuk memastikan Anda mendapatkan hasil yang diharapkan. Setelah Anda yakin kecocokannya memang redundan, Anda dapat memutuskan apakah akan menghapusnya secara manual atau menjalankan skrip penghapusan.
Ambil kendali atas penyimpanan Anda
Berhenti menebak, mulai mengelola
Begitu Anda mulai menggunakan perintah ini, itu akan dengan cepat menjadi salah satu perintah PowerShell yang dapat memperbaiki sebagian besar masalah Windows Anda. Setiap kali sebuah folder mulai terasa penuh, jalankan pemindaian, dan bebaskan ruang yang seharusnya harus Anda periksa dan verifikasi secara manual selama berjam-jam, semuanya tanpa perlu utilitas pembersih tambahan.
Akan ada beberapa beban kognitif awal dalam memahami pipeline, tetapi begitu terasa klik, itu menjadi cara sederhana dan dapat diulang untuk menaklukkan masalah penyimpanan di mesin Anda. Ingat, Anda tidak sedang menghafal mantra ajaib sebanyak Anda sedang mempelajari pola: dapatkan item, buat hash, kelompokkan, saring, dan bertindak berdasarkan hasilnya.








