के साथ कई फाइलों को हटाना आप जानते हैं कि लिनक्स में यह आसान है लेकिन मैं समझ नहीं पा रहा हूं कि विंडोज़ पर सी # में इसे कैसे किया जाए। मैं वाइल्डकार्ड f*.txt
से मेल खाने वाली सभी फाइलों को हटाना चाहता हूं। मैं इसे जाने के बारे में कैसे जा सकता हूं?वाइल्डकार्ड
57
A
उत्तर
117
आप उपयोग कर सकते हैं DirectoryInfo.EnumerateFiles
function:
var dir = new DirectoryInfo(directoryPath);
foreach (var file in dir.EnumerateFiles("f*.txt")) {
file.Delete();
}
(। बेशक, आप शायद त्रुटि हैंडलिंग में जोड़ना चाहेंगे)
8
आप वाइल्डकार्ड अधिभार के साथ Directory.GetFiles विधि का उपयोग कर सकते हैं। यह आपके पैटर्न से मेल खाने वाले सभी फ़ाइल नामों को वापस कर देगा। फिर आप इन फ़ाइलों को हटा सकते हैं।
33
मैं जानता हूँ कि यह पहले से ही उत्तर दिया गया है और एक अच्छा जवाब के साथ है, लेकिन .NET 4.0 और उच्च में एक वैकल्पिक है। Directory.EnumerateFiles()
का उपयोग करें, इस प्रकार:
foreach (string f in Directory.EnumerateFiles(myDirectory,"f*.txt"))
{
File.Delete(f);
}
DirectoryInfo.GetFiles()
का नुकसान यह है कि यह फ़ाइलों की एक सूची देता है - जो समय की 99.9% महान है। नुकसान यह है कि फ़ोल्डर में हजारों फाइलें हैं (जो दुर्लभ है) तो यह बहुत धीमी हो जाती है और मेल खाने वाली फाइलों के माध्यम से गणना करना बहुत तेज होता है।
संबंधित मुद्दे
- 1. वाइल्डकार्ड
- 2. वाइल्डकार्ड
- 3. वाइल्डकार्ड
- 4. वाइल्डकार्ड%
- 5. वाइल्डकार्ड
- 6. वाइल्डकार्ड
- 7. वाइल्डकार्ड
- 8. वाइल्डकार्ड
- 9. वाइल्डकार्ड?
- 10. वाइल्डकार्ड
- 11. ग्राफ: वाइल्डकार्ड
- 12. XPath वाइल्डकार्ड
- 13. वाइल्डकार्ड पैटर्न
- 14. खोज वाइल्डकार्ड
- 15. वाइल्डकार्ड SQLite
- 16. सीएसएस वाइल्डकार्ड
- 17. रेगेक्स वाइल्डकार्ड
- 18. वाइल्डकार्ड समर्थन
- 19. लुसेन - वाक्यांशों में वाइल्डकार्ड
- 20. jQuery चयनकर्ता में वाइल्डकार्ड
- 21. MySQL वाइल्डकार्ड * और%
- 22. Rails.root filepath वाइल्डकार्ड
- 23. वाइल्डकार्ड जेनेरिक प्रकार
- 24. XSLT समारोह दस्तावेज़() वाइल्डकार्ड
- 25. वाइल्डकार्ड मिलान स्ट्रिंग
- 26. memcache और वाइल्डकार्ड
- 27. जावा में अनबॉल्ड वाइल्डकार्ड
- 28. ऊपरी बाध्य वाइल्डकार्ड
- 29. एसक्यूएल वाइल्डकार्ड खोज - क्षमता?
- 30. सोलर वाइल्डकार्ड खोज
ध्यान दें कि 'DirectoryInfo' में' एन्युमेरेटफाइल() 'भी है। – TrueWill
यदि कोई सोच रहा है कि यह उत्तर स्वीकार्य उत्तर के समान क्यों है, तो ऐसा इसलिए है क्योंकि स्वीकार किए गए उत्तर को इस के प्रकाश में फिर से लिखा गया है। जो शर्म की बात है क्योंकि 'DirectoryInfo.GetFiles() '(जो मूल उत्तर था) का उपयोग करना .NET के पुराने संस्करणों के लिए ऐसा करने का एकमात्र तरीका है। –