जब फ़ाइल की प्रतिलिपि बनाई गई थी या फ़ोल्डर में ले जाया गया था, तो तारीखों पर भरोसा करने का कोई तरीका नहीं है। विंडोज इसे फाइलसिस्टम, ड्राइव, नेटवर्क शेयर्स आदि में संरक्षित करने का प्रबंधन करता है। आप एक लिनक्स फाइल सर्वर के साथ कुछ काम कर सकते हैं, या एफ़टीपी या एक वेब आधारित अपलोड सिस्टम का उपयोग करके लोगों को सीधे फाइल कॉपी करने से रोक सकते हैं।
यदि आप लोगों को अपलोड करने के बाद फ़ाइलों को संशोधित करने में सक्षम नहीं हैं, तो आपके पास अलग-अलग अपलोड और एक्सेस फ़ोल्डर्स हो सकते हैं, और एक स्क्रिप्ट जो उनके बीच फ़ाइलों को स्थानांतरित करती है और उन्हें फिर से तारीख करती है। लेकिन ऐसा लगता है कि आप चाहते हैं कि लोग सीधे फाइलों को संशोधित करने में सक्षम हों।
तो एक सरल, अगर कुछ हद तक हैक किया जाता है, तो समाधान तारीखों के साथ गड़बड़ करना होगा। मैं दो स्क्रिप्ट लिखूंगा:
प्रति घंटा दिनांक परिवर्तक स्क्रिप्ट
एक स्क्रिप्ट को एक घंटे या एक बार, अपनी पसंदीदा भाषा में चलाएं:
- पिछले 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 दिन पहले" संशोधित तिथि के साथ फाइल खोजें
- उन्हें हटाओ
मैं इस भाग के लिए स्क्रिप्ट नहीं लिखूंगा - बहुत सारी उपयोगिताओं हैं जो उन फ़ाइलों को हटाने का काम कर सकती हैं जो एक निर्दिष्ट तिथि से अधिक पुरानी हैं, जो भी आपको पसंद है। महत्वपूर्ण हिस्सा उन फाइलों की तलाश करना है जो 7300 + X दिन पुरानी हैं, जहां एक्स उन दिनों की संख्या है जो आप उन्हें रखना चाहते हैं क्योंकि वे अंतिम बार संशोधित किए गए थे।
लाभ
यहाँ अन्य उत्तरों पर इसके कुछ फायदे हैं:
- यदि कोई फ़ाइल संशोधित करता है, तो टाइमर रीसेट हो जाएगा।
- फ़ाइलों को चिह्नित करने के लिए NTFS वैकल्पिक धाराओं की कोई आवश्यकता नहीं है (जो फ़ाइल को स्थानांतरित करते समय संरक्षित हैं, इसलिए संशोधित फ़ाइल को समय से पहले हटाने का कारण बन सकता है)
- यदि कोई प्रदर्शन प्रभाव कम से कम होना चाहिए। डेटाबेस और फ़ाइल नाम और / या हैश की सूची रखने की आवश्यकता नहीं है।
- यदि स्क्रिप्ट चलाने में विफल हो जाती है तो कुछ भी नहीं टूटता है। तारीख को अद्यतन करने के लिए आवश्यक कोई सेवा या लगातार चलने वाला कार्यक्रम नहीं है। बस एक जोड़े को निर्धारित कार्य। समाधान जो नई फ़ाइलों को देखने पर निर्भर करते हैं और अभी अपने अंतिम संशोधित समय को अपडेट करते हैं, यदि सेवा विफल हो जाती है या दौड़ की स्थिति में चलती है, तो नई फ़ाइलों को हटाने का अंत हो सकता है।
एकमात्र समस्या जो मैं देख सकता हूं, वह यह है कि लोग उस फ़ाइल की प्रतिलिपि बनाते हैं जिसे अंतिम बार 20 साल पहले ड्रॉप फ़ोल्डर में संशोधित किया गया था। मुझे लगता है कि ज्यादातर परिदृश्यों में, यह एक मुद्दे के ज्यादा होने की संभावना नहीं है, लेकिन यह सामने आ सकता है।