Batch file. Menghapus semua file dan folder dalam direktori
Saya ingin memiliki sebuah file batch yang akan menghapus semua folder dan file di folder cache untuk wireless toolkit.
Saat ini saya memiliki berikut:
cd "C:\Users\tbrollo\j2mewtk\2.5.2\appdb\RMS"
del *.db
Ini akan menghapus semua .db file di RMS direktori, namun aku ingin menghapus setiap hal dari direktori ini. Bagaimana saya bisa melakukan ini?
128
15
Gunakan:
Membuat file batch
Menyalin teks di bawah ini ke dalam file batch
set folder="C:\test" cd /d %folder% untuk /F "delims=" %%i ('dir /b') jangan (rmdir "%%i" /s/t || del "%%i" /s/q)
Ini akan menghapus semua file dan folder.
del *.*
bukandel *.db
. Yang akan menghapus semuanya.Ini akan menghapus segala sesuatu dari folder (folder itu sendiri).
del *.*
hanya akan menghapus file, tetapi tidak subdirektori. Untuk nuke isi dari sebuah direktori, anda dapat menggunakan script ini:Aku hanya menempatkan ini bersama-sama dari apa yang morty346 posted:
Ia menambahkan cepat memeriksa bahwa folder yang didefinisikan di variabel yang ada pertama, perubahan direktori ke folder, dan menghapus isi.
Anda dapat melakukan ini dengan menggunakan
del
dan/S
flag (untuk kirim ke recurse semua file dari semua subdirektori):The RD perintah ini juga dapat digunakan. Rekursif menghapus diam-diam tanpa prompt:
Rmdir (rd)
Cobalah hal berikut ini; ia bekerja untuk saya.
Saya memiliki sebuah aplikasi yang membuang data di saya "C:\tmp" folder, dan berikut karya-karya yang terbaik untuk saya. Itu doesn't bahkan meminta Ya atau Tidak ada untuk menghapus data. Saya telah membuat jadwal untuk menjalankannya setelah setiap 5 menit.
Anda bisa menggunakan robocopy untuk cermin kosong folder ke folder anda membersihkan.
Hal ini juga bekerja jika anda bisa't menghapus atau menciptakan folder yang sebenarnya.
Ini tidak memerlukan aplikasi yang ada di direktori kosong.
Lebih baik lagi, let's mengatakan saya ingin menghapus segala sesuatu di bawah
C:\windows\temp
folder.Gunakan
Versi ini akan menghapus tanpa meminta:
Contoh:
Ini akan jelas
C:\foo1\foo\foo\foo3
.(saya ingin menyebutkan Abdullah Sabouin's jawaban. Ada yang mencampur tentang saya menirunya. Saya tidak melihat jabatannya. Saya ingin mengucapkan terima kasih melpomene untuk menunjukkan kesalahan!)
Hanya versi modifikasi dari GregM's jawaban:
Anda tidak bisa menghapus semuanya dengan baik
rmdir
ataudel
sendirian:rmdir /s /q
tidak menerima wildcard params. Jadirmdir /s /q *
akan kesalahan.del /s /f /q
akan menghapus semua file, tapi kosong subdirektori akan tetap.Saya solusi yang lebih disukai (seperti yang saya telah digunakan di banyak file batch) adalah:
Anda harus menjalankan perintah ini dalam rangka untuk menghapus semua file:
Anda berada di jalur yang benar. Hanya menambahkan kode untuk menambahkan folder yang dihapus kembali lagi.