Yanıtlar:
Bunu başarmak için forve ifkomutları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.
fordüzenli kullanmaya başladığınızda , bunun için her tür çılgın senaryo ile karşılaşırsınız. :)
del "%i"
IFküçü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
%fdosya 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ç Delkomutuna geçiyoruz ?
Hız için delen kullanıyorum :
delen /! a.c
TCC / LE ayrıca daha güçlü birdelkomuta sahiptir:
del /[!a.c] *
del /[!a.c] *yeldsInvalid switch - "[!a.c]".