একটি নির্দিষ্ট সময়কালে ফাইলগুলি মুছতে চাওয়ার ক্ষেত্রে সর্বাধিক প্রচলিত পদ্ধতিটি হ'ল ফাইলের লাস্ট রাইটটাইম (শেষ বারের সময় ফাইলটি সংশোধন করা হয়েছিল) ব্যবহার করে:
Directory.GetFiles(dirName)
.Select(f => new FileInfo(f))
.Where(f => f.LastWriteTime < DateTime.Now.AddMonths(-3))
.ToList()
.ForEach(f => f.Delete());
(উপরের উরির উত্তর উপর ভিত্তি করে কিন্তু সাথে LastWriteTime
।)
আপনি যখনই লোকেদের নির্দিষ্ট সময়ের ফ্রেমের চেয়ে পুরানো ফাইলগুলি মুছে ফেলার কথা বলতে শুনেন (যা একটি সাধারণ সাধারণ কার্যকলাপ) তখন ফাইলের লাস্টমোডিফাইডটাইমের উপর ভিত্তি করে এটি করা প্রায়শই তারা যা খুঁজছেন তা হয়।
বিকল্পভাবে, খুব অস্বাভাবিক পরিস্থিতিতে আপনি নীচেরটি ব্যবহার করতে পারেন, তবে সাবধানতার সাথে এগুলি ব্যবহার করার সাথে সাথে তারা সাবধানতা অবলম্বন করবেন।
CreationTime
.Where(f => f.CreationTime < DateTime.Now.AddMonths(-3))
বর্তমান অবস্থানটিতে ফাইলটি তৈরি করার সময়। তবে, ফাইলটি অনুলিপি করা হয়েছে কিনা সে বিষয়ে সতর্কতা অবলম্বন করুন, এটি কপি করার সময় হবে এবং ফাইলটির চেয়ে নতুনCreationTime
হবে ।LastWriteTime
LastAccessTime
.Where(f => f.LastAccessTime < DateTime.Now.AddMonths(-3))
আপনি যদি শেষবার পড়ার সময় ভিত্তিক ফাইলগুলি মুছতে চান তবে আপনি এটি ব্যবহার করতে পারেন তবে, এনটিএফএসে এটি অক্ষম করা যেতে পারে বলে আপডেট হওয়ার কোনও গ্যারান্টি নেই। fsutil behavior query DisableLastAccess
এটি চালু আছে কিনা তা পরীক্ষা করে দেখুন। এছাড়াও এনটিএফএসের অধীনে এটি ফাইলের লাস্টএ্যাক্সেসটাইম অ্যাক্সেস হওয়ার পরে আপডেট হতে এক ঘন্টা সময় নিতে পারে।