Yanıtlar:
Bunu başarmak için for
ve if
komutlarını kullanabilirsiniz:
for %i in (*) do if not "%~i" == a.c del "%~i"
Bu, geçerli dizine gider ve her dosya adını ac ile karşılaştırır. Eşleşmezse, dosya silinir.
for
düzenli kullanmaya başladığınızda , bunun için her tür çılgın senaryo ile karşılaşırsınız. :)
del "%i"
IF
küçük harfe duyarsız olması için ifadeye ihtiyacınız varsa , değiştirin IF /I
.
Dosyayı yalnızca her şeyi silmeden önce okunacak şekilde ayarlayabilirsiniz.
attrib +r a.c
del *.*
attrib -r a.c
Hayır yok. Bir dizin hazırlar, önemli dosyayı kopyalar, silerim . ve dosyayı geri taşıyın. Sonra geçici dosyayı silin.
mkdir temp
move a.c temp
erase *.*
move temp\* .
rmdir temp
FOR %f IN (*.*) DO IF NOT [%f]==[a.c] DEL /Q %f
%f
dosya adında boşluklar olabilir.
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%
ve %file%
travers edilecek ağacın kökü ve silmekten kaçınmak için kullanılan dosya. Nedir ^
ve neden dosya başına dört belirteç Del
komutuna geçiyoruz ?
Hız için delen kullanıyorum :
delen /! a.c
TCC / LE ayrıca daha güçlü birdel
komuta sahiptir:
del /[!a.c] *
del /[!a.c] *
yeldsInvalid switch - "[!a.c]".