जवाबों:
इसे पूरा करने के लिए आप forऔर ifकमांड का उपयोग कर सकते हैं :
for %i in (*) do if not "%~i" == a.c del "%~i"
यह वर्तमान निर्देशिका के माध्यम से जाता है, और प्रत्येक फ़ाइल नाम की तुलना एसी से करता है यदि यह मेल नहीं खाता है, तो फ़ाइल हटा दी जाती है।
forनियमित रूप से उपयोग करना शुरू करते हैं तो आप इसके लिए सभी प्रकार के पागल परिदृश्यों के साथ आते हैं। :)
del "%i"
IFस्टेटमेंट असंवेदनशील होने की आवश्यकता है , तो इसे बदल दें IF /I।
नहीं, वहाँ नहीं है। मैं एक निर्देशिका बनाऊंगा, उसमें महत्वपूर्ण फाइल कॉपी करूंगा, मिटा दूंगा । , और फ़ाइल को वापस ले जाएं। फिर अस्थायी फ़ाइल को हटा दें।
mkdir temp
move a.c temp
erase *.*
move temp\* .
rmdir temp
FOR %f IN (*.*) DO IF NOT [%f]==[a.c] DEL /Q %f
%fफ़ाइल नाम में स्थान हो सकता है।
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%और %file%पेड़ की जड़ें उखाड़ने के लिए हैं, और फ़ाइल को क्रमशः हटाने से बचने के लिए। क्या है ^, और हम Delकमांड में प्रति फ़ाइल चार टोकन क्यों पास कर रहे हैं ?