Saya ingin menghapus seluruh konten folder tertentu pada Windows 7 melalui file batch. Masalah saya adalah, bahwa 'del' atau 'hapus' hanya menghapus file, bukan folder dan 'rmdir' atau 'rd' selalu menghapus folder yang ditentukan dengan isinya, tetapi saya hanya ingin menghapus konten, bukan folder itu sendiri . Saya mencoba perintah ' rmdir /S /Q "C:\Share\*"
' yang memberi saya kesalahan sintaks.
Apa cara yang benar untuk melakukan ini?
Saya bekerja pada Windows 7 Professional 64-bit dan memiliki izin admin.
sumber
del
tidak perlu.rd/s/q
akan menghapus file dan subfolder.del
terutama ada untuk setiap file di folder root, bisa menghapus saklar rekursi sekalipun.Anda mendapatkan "Kesalahan sintaksis" karena
rmdir
hanya menerima nama lengkap, bukan wildcard. (Dalamcmd.exe
, ekspansi wildcard diserahkan kepada masing-masing program; tidak semuanya melakukannya.)Jika Anda memiliki banyak direktori
Share...
, gunakanfor
loop.sumber
Coba ini di command prompt:
sumber
Bagaimana dengan ?
EDIT: tentu saja solusi ini hanya berlaku ketika Anda dapat mentolerir ketidakhadiran folder sesaat.
sumber
for /f
dalam kasus yang mirip dengan milik saya. Hanya ingin berbagiIni tidak berfungsi jika subdirektori berisi direktori lain yang berisi spasi.
Untuk membuat ini berfungsi, saya perlu mengutip string terakhir, seperti ini
Rupanya, ini menyebabkan perintah untuk bekerja pada string yang dikutip, bukan hanya string itu sendiri.
sumber
Saya akan mencoba ini di folder di mana semua subfolder harus dihapus tetapi root (dan file di root) dibiarkan apa adanya: for / D% v di (*) do rd / s / q% v
untuk / D cocok dengan direktori dan rd / s / q menghapus masing-masing sekaligus
sumber
secara sederhana:
rmdir / s / q "path"
mkdir "jalan"
sumber