কোনও ফাইল অনুলিপি করা বা ফোল্ডারে স্থানান্তরিত হওয়ার তারিখগুলির উপর নির্ভর করার কোনও উপায় নেই। উইন্ডোজ এটিকে ফাইল সিস্টেম, ড্রাইভ, নেটওয়ার্ক শেয়ার ইত্যাদিতে সংরক্ষণ করার ব্যবস্থা করে আপনি কোনও লিনাক্স ফাইল সার্ভারের সাহায্যে কিছু কাজ করতে সক্ষম হতে পারেন, বা এফটিপি বা ওয়েব ভিত্তিক আপলোড সিস্টেম ব্যবহার করে লোকেদের সরাসরি ফাইল অনুলিপি করা থেকে বিরত রাখতে পারেন।
লোকেরা আপলোডের পরে ফাইলগুলি সংশোধন করতে না পারার বিষয়ে যদি আপনি ঠিক থাকেন তবে আপনার কাছে পৃথক আপলোড এবং অ্যাক্সেস ফোল্ডার এবং একটি স্ক্রিপ্ট থাকতে পারে যা তাদের মধ্যে ফাইলগুলি সরিয়ে নিয়ে যায় এবং তাদের পুনরায় তারিখ করে। তবে মনে হচ্ছে আপনি লোকেরা ফাইলগুলি সরাসরি সংশোধন করতে সক্ষম হন।
সুতরাং একটি সহজ, যদি কিছুটা হ্যাকি হয় তবে সমাধানগুলি তারিখগুলি নিয়ে গণ্ডগোল হবে। আমি দুটি স্ক্রিপ্ট লিখব:
আওয়ারলি ডেট চেঞ্জার স্ক্রিপ্ট
আপনার পছন্দের ভাষায় এক ঘন্টা বা তার চেয়ে একবার স্ক্রিপ্ট চালাতে হবে:
- গত 20 বছরের মধ্যে কোনও তারিখ সংশোধিত তারিখ সহ কোনও ফাইল সন্ধান করে।
- যখন এটি কোনও ফাইল সন্ধান করে, তার তারিখটি আজকে বিয়োগ 20 বছর পরিবর্তিত করা হবে।
পাওয়ারশেলের ক্ষেত্রে এটি দেখতে এমন কিছু দেখাচ্ছে:
$path = "D:\test"
$today = Get-Date
$before = $today.AddDays(-7300) #356*20 days
Get-ChildItem -Recurse -Path $path | foreach {
if ($_.LastWriteTime -gt $before) {
Write-Host $_.Name
$_.LastWriteTime = $before
}
}
আজ (27 শে মে) এই স্ক্রিপ্টটি চালানো, 1 ফেব্রুয়ারী 1994 এ সমস্ত ফাইলের পরিবর্তিত তারিখ নির্ধারণ করে - ঠিক 356 * 20 দিন আগে। যেহেতু এটি কেবল আগের মানের চেয়ে নতুন ফাইলগুলিকে পরিবর্তন করছে, এটি ইতিমধ্যে অতীতে সেট করা ফাইলগুলিকে স্পর্শ করবে না।
ক্লিনআপ স্ক্রিপ্ট
ক্লিনআপ স্ক্রিপ্টটি প্রতি রাতে চলত এবং:
- "20 বছর এবং X দিন আগে" সংশোধিত তারিখ সহ ফাইলগুলি অনুসন্ধান করুন
- এগুলি মুছুন
আমি এই অংশটির জন্য স্ক্রিপ্ট লিখব না - প্রচুর পরিমাণে ইউটিলিটি রয়েছে যা নির্দিষ্ট তারিখের চেয়ে পুরানো ফাইলগুলি মুছতে সক্ষম করতে পারে, আপনার পছন্দমতো পছন্দ করুন। গুরুত্বপূর্ণ অংশটি হ'ল 00৩০০ + এক্স দিনের পুরানো ফাইলগুলি সন্ধান করা, যেখানে শেষবার সংশোধিত হওয়ার পরে X এগুলি রাখতে চান সেই সংখ্যা।
সুবিধাদি
এখানে অন্যান্য উত্তরের তুলনায় এর কয়েকটি সুবিধা রয়েছে:
- কেউ যদি ফাইলটি পরিবর্তন করে তবে টাইমারটি পুনরায় সেট হবে।
- ফাইলগুলি চিহ্নিত করার জন্য এনটিএফএস বিকল্প স্ট্রিমগুলির প্রয়োজন নেই (যা ফাইলটি সরানোর সময় সংরক্ষণ করা হয়, ফলে কোনও পরিবর্তিত ফাইলের অকাল মুছে ফেলা হতে পারে)
- কোনও কার্যকারিতা প্রভাবিত হলে ন্যূনতম হওয়া উচিত। কোনও ডাটাবেস বা ফাইলের নাম এবং / অথবা হ্যাশগুলির তালিকা রাখার দরকার নেই।
- স্ক্রিপ্টগুলি চলতে ব্যর্থ হলে কিছুই ভয়াবহভাবে ভেঙে যায় না। তারিখটি আপডেট করার জন্য কোনও পরিষেবা বা ক্রমাগত চলমান প্রোগ্রাম নেই। মাত্র দু'জন নির্ধারিত কাজ। সমাধানগুলি যেগুলি নতুন ফাইলগুলি দেখার এবং তাদের শেষ পরিবর্তিত সময়টি এখনই আপডেট করার উপর নির্ভর করে যদি পরিষেবাটি ব্যর্থ হয় বা কোনও রেসের শর্তে চলে যায় তবে নতুন ফাইলগুলি মুছতে পারে।
আমি কেবল দেখতে পাচ্ছি সমস্যাটি যদি লোকেরা 20 বছর আগে ড্রপ ফোল্ডারে সর্বশেষ পরিবর্তিত একটি ফাইল অনুলিপি করে। আমি বেশিরভাগ পরিস্থিতিতে মনে করি, এটির বেশিরভাগ ইস্যু হওয়ার সম্ভাবনা কম তবে এটি উঠে আসতে পারে।