Katakanlah ada beberapa folder di D:
drive:
D:\Air
D:\Abonden
D:\All
D:\Whatever
Saya ingin menghapus semua folder yang dimulai dengan "A" (termasuk semua subfolder dan file). Saya mencoba perintah ini:
rmdir D:\A* /s /q
Saya mendapatkan kesalahan, meskipun :(
Nama file, nama direktori, atau sintaks label volume tidak benar.
The del
perintah bekerja dengan *
, tetapi saya perlu menghapus folder juga.
Apakah ada cara untuk mencapainya melalui rmdir
perintah?
windows
command-line
batch
serdar
sumber
sumber
Jawaban:
Gunakan ini untuk menguji:
Ini akan mem-pipe keluar perintah yang akan dijalankan ke command prompt dan memungkinkan Anda untuk melihat apa yang terjadi.
Ingatlah bahwa ini juga akan mencari subfolder seperti "C: \ temp \ jjj \ aaa" dan akan menghapus folder aaa. Jika Anda ingin hanya melihat folder tingkat atas "C: \ temp \ aaa", kemudian hapus
"/s"
dari perintah.Kunci untuk ini adalah A *, tempat Anda memasukkan string pencarian Anda. Ini akan menerima wildcard seperti
aaa*
,aaa*
dan*aaa*
jika Anda menginginkannya.sumber
for /f %%i in ('dir /a:d /s /b A*') do rd /s /q %%i
Menghapus folder menggunakan wildcard
The
rmdir
/rd
perintah saja tidak mendukung karakter wildcard (yaitu,*
dan?
). Anda dapat mengatasi batasan ini dengan membungkusnya dalam satufor
lingkaran.Contoh penggunaan
Catatan Saat Anda menghapus file dan folder, Anda mungkin ingin mengganti
rd
perintah dengan yangecho
pertama. Dengan cara ini Anda dapat memastikan apa pun yang seharusnya tidak dihapus akan benar-benar terjadi.Banyak pola
Untuk menghapus beberapa folder yang cocok dengan pola yang berbeda, sintaksinya tidak terlalu berbeda. Seperti @dbenham dengan benar tunjukkan, satu perintah baris sudah cukup. Anda juga dapat menentukan jalur yang berbeda:
Bonus - Memeriksa keberadaan folder
Jika Anda ingin memeriksa apakah folder tertentu ada, Anda dapat menggunakan perintah berikut:
Bacaan lebih lanjut
sumber
FOR /D
dan sederhana AndaFOR /D /R
. Cukup gunakanin( "A*" "B*" "C?D" )
./R
opsi karena subfolder yang cocok dengan mask mungkin berada di bawah induk yang tidak.Bagaimana belum ada yang memberi tahu OP tentang forfile ?!
forfiles /P D:\ /M A* /C "cmd /c if @isdir==TRUE rmdir /s /q @file"
sumber
for /d
seperti pada jawaban and31415 lebih bersih dan lebih efisien.adn31415 jawaban sudah benar tetapi rusak jika Anda menempatkan ini dalam skrip batch atau cmd. Saya membenturkan kepala saya selama berjam-jam sampai saya tahu ini adalah bagaimana Anda menggunakannya.
Di jendela perintah DOS:
Dalam skrip Batch atau cmd:
Jika Anda ingin memasukkannya ke file ".bat" atau ".cmd", Anda harus menggandakan karakter "%".
sumber