Jawaban:
Anda dapat menggunakan for
dan if
memerintahkan untuk melakukan ini:
for %i in (*) do if not "%~i" == a.c del "%~i"
Ini melewati direktori saat ini, dan membandingkan setiap nama file dengan ac. Jika tidak cocok, file dihapus.
for
secara teratur, Anda membuat semua jenis skenario gila untuk itu. :)
del "%i"
IF
pernyataan tidak peka huruf besar-kecil, ubah ke IF /I
.
Anda dapat mengatur file untuk dibaca hanya sebelum menghapus semuanya
attrib +r a.c
del *.*
attrib -r a.c
Tidak, tidak ada. Saya akan membuat direktori, menyalin file penting ke dalamnya, hapus . , dan pindahkan file kembali. Kemudian hapus file temp.
mkdir temp
move a.c temp
erase *.*
move temp\* .
rmdir temp
FOR %f IN (*.*) DO IF NOT [%f]==[a.c] DEL /Q %f
%f
bisa ada spasi di nama file.
FOR /F "tokens=1-4" %%a in ('dir /a:-d /b /s %app_path%^|find /v "%file%"') DO Del /q %%a %%b %%c %%d
%app_path%
dan %file%
merupakan akar dari pohon untuk dilintasi, dan file untuk menghindari penghapusan, masing-masing. Apa itu ^
, dan mengapa kita melewatkan empat token per file ke Del
perintah?
Untuk kecepatan, saya menggunakan delen :
delen /! a.c
TCC / LE juga memilikidel
perintahyang lebih kuat:
del /[!a.c] *
del /[!a.c] *
yeldsInvalid switch - "[!a.c]".