Perintah apa yang Anda gunakan untuk menemukan direktori kosong di Windows?
Beberapa folder mungkin berisi beberapa folder tersembunyi seperti .svn
atau .settings
, tetapi folder tersebut masih harus diperlakukan sebagai folder kosong.
windows
powershell
Joshua
sumber
sumber
Jawaban:
Cara termudah yang bisa saya pikirkan adalah dengan skrip PowerShell kecil . Jika Anda menjalankan Windows 7 Anda harus sudah menginstalnya, jika tidak mengunjungi Microsoft.com untuk mengunduh dan menginstalnya. Tautan ini memberikan deskripsi terperinci, tetapi inti operasi disertakan di sini untuk kenyamanan Anda.
Buka PowerShell dan masukkan ini:
Ubah C: \ Script menjadi apa pun yang ingin Anda cari, Anda bahkan dapat mengaturnya menjadi hanya C: \ jika Anda ingin memeriksa seluruh drive.
Ini akan memberi Anda output seperti ini (perhatikan ini adalah direktori kosong di bawah C: \ Script.
Jika Anda melihat PowerShell sedikit, saya yakin Anda akan dapat mengetahui cara menghapus folder kosong secara otomatis jika Anda mau (meskipun saya sarankan menentangnya, untuk berjaga-jaga.)
Sunting : Seperti yang disebutkan Richard dalam komentar, untuk penggunaan direktori yang benar-benar kosong:
sumber
?{$_.GetFileSystemInfos().Count -eq 0}
.Berikut ini adalah cara termudah yang dapat saya temukan untuk mencapainya dengan satu baris kode. Ini daftar direktori kosong di lokasi saat ini. Jika rekursi diperlukan, parameter
-Recurse
dapat ditambahkan ke panggilanGet-ChildItem
.Get-ChildItem -Directory | Where-Object { $_.GetFileSystemInfos().Count -eq 0 }
Versi singkat dengan alias:
dir -Directory | ? {$_.GetFileSystemInfos().Count -eq 0 }
Atau, sebagai fungsi PowerShell yang diparameterisasi (saya menambahkan ini ke profil startup PowerShell saya):
Ini kemudian dapat dipanggil sebagai fungsi PowerShell lainnya, termasuk pemipaan. Misalnya, panggilan ini akan menghapus semua direktori kosong di direktori temp sistem:
Get-EmptyDirectories $env:TMP | del
sumber
Coba ini
Hitungannya bukan 0, tidak ada artinya sama sekali bahwa direktori tersebut benar-benar kosong atau menampung folder lain yang benar-benar kosong
sumber
Terima kasih, saya menggunakan ini sebagai dasar untuk skrip saya. Saya ingin menghapus folder kosong tetapi coba lakukan
Where-Object {$_.GetFiles().Count -eq 0}
akan menghapus folder yang memiliki sub-direktori yang tidak kosong. Saya akhirnya menggunakan loop DO WHILE untuk menghapus folder yang tidak memiliki file atau folder kemudian loop kembali dan periksa lagi sampai mencapai ujung pohon.sumber