क्या किसी फ़ाइल को बनाने से पहले उसे संशोधित किया जा सकता है? [डुप्लिकेट]


9

क्या ऐसी फ़ाइल होना संभव है जिसकी संशोधित तिथि है जो उसकी बनाई गई तारीख से पहले है? इस घटना के कारण क्या कार्रवाई होगी?


7
फ़ाइल बनाएँ। घड़ी वापस घुमाओ। फ़ाइल को संशोधित करें। घड़ी फिर से लगाओ।
DavidPostill

@DavidPostill ध्यान दें कि, कम से कम विंडोज पर, सिस्टम के समय को बदलने के लिए प्रशासनिक विशेषाधिकारों की आवश्यकता होती है, जबकि मजाकिया फ़ाइल बार बनाने के अन्य तरीके नहीं होते हैं।
बेन एन

जवाबों:


8

निकाले जाने वाले। आर्क संग्रह पर विचार करें। आमतौर पर निकाली गई फ़ाइलों में संग्रह सामग्री से निर्दिष्ट अंतिम संशोधन टाइमस्टैम्प होगा (जो आम तौर पर अतीत में होता है जब तक कि आप एक समय यात्री नहीं होते हैं)। जहां तक ​​फाइल सिस्टम का सवाल है, ये फाइलें अभी बनाई गई हैं।

लिनक्स में मौजूदा फाइलों के संशोधन समय को बदलने के लिए उपयोगिताओं भी मौजूद हैं, उदाहरण के लिए यह टच कमांड है।


और एक फ़ाइल के लिए, cp -pऔर ऐसी चीजें जो इसे पसंद करती हैं rcp -pऔर scp -p, साथ ही rsyncसाथ -tया -a, स्रोत से मोडटाइम लेती हैं।
dave_thompson_085

"निर्माण समय" एक विंडोज़ शब्द है न कि एक * निक्स। * निक्स में "परिवर्तन का समय" है जो "निर्माण समय" के साथ भ्रमित करना आसान है, लेकिन समान चीज नहीं है।
प्लगवॉश करें

ext4 जाहिरा तौर पर एक "जन्म का समय" संग्रहीत करता है, जो कि "सृजन समय" के समान (लेकिन उतना ही नहीं) है जो इसे एक्सेस करने का कोई अच्छा तरीका नहीं है। unix.stackexchange.com/a/50184/122182
प्लग इन करें

8

यदि आप स्क्रैच से फाइल बनाते हैं, तो इसे "अभी" का एक निर्माण समय मिलता है, और "अब" की एक संशोधन तिथि। अब इस फाइल को किसी अन्य ड्राइव पर कॉपी करने की कल्पना करें। Windows संशोधन समय रखेगा, लेकिन उस फ़ाइल का निर्माण समय उस फ़ाइल को उस ड्राइव पर कॉपी करने के समय पर सेट हो जाएगा (यानी उस ड्राइव पर फ़ाइल बनाने का समय )। इतना ही आसान।

यह वास्तव में सही है:

  • पिछली बार जब फ़ाइल की सामग्री बदली गई थी तो उसे संशोधन समय में संग्रहीत किया गया था।
  • जिस समय फ़ाइल को इस ड्राइव पर बनाया गया था, उसे निर्माण समय में संग्रहीत किया जाता है।

यह टिप्पणी सबसे अधिक समझ में आती है क्योंकि यह बहुत ही संभावित परिदृश्य को प्रदर्शित करती है जब एक निर्मित / संशोधित तिथि विसंगति होगी।
शुकरी एडम्स

7

विंडोज पर, फ़ाइल को बनाया और संशोधित समय पर सेट करना (गलत साबित करना, यदि आप चाहें तो) बहुत आसान है। आपको कंप्यूटर की घड़ी को बदलना नहीं है; आपको स्थानीय व्यवस्थापक पहुंच की भी आवश्यकता नहीं है। आपको केवल प्रश्न में फ़ाइल तक पहुंच लिखना है।

PowerShell का उपयोग करके फ़ाइल के निर्माण का समय निर्धारित करने के लिए SetCreationTime:

[System.IO.File]::SetCreationTime("C:\path\to\file.ext", (Get-Date "8/8/2088"))

अंतिम-संशोधित समय का उपयोग कर सेट करने के लिए SetLastWriteTime:

[System.IO.File]::SetLastWriteTime("C:\path\to\file.ext", (Get-Date "7/4/1776"))

लिनक्स पर, आप आसानी से फ़ाइल के अंतिम-संशोधित समय को उस -dध्वज के साथ बदल सकते हैं touch, जैसा कि इस उबंटू उत्तर में दिखाया गया है । वास्तव में लिनक्स फ़ाइल सिस्टम ( आगे यूनिक्स और लिनक्स पर पढ़ने ) पर फ़ाइलों के लिए एक निर्माण तिथि की धारणा नहीं है ।


3

हाँ। विंडोज पर, फाइल में बदलाव करें और इसे सेव करें। अब फाइल को कॉपी करें। कॉपी के गुणों को देखते हुए, आप देखेंगे कि इसमें पहले की संशोधित तिथि है।


1

यहां ध्यान देने वाली सबसे महत्वपूर्ण बात यह है कि फ़ाइल संशोधन समय वास्तव में विशेष नहीं है - यह किसी भी अन्य डेटा की तरह ही संग्रहीत है। यह बताने का कोई तरीका नहीं है कि डेटा वास्तव में अंतिम रूप से कब लिखा या पढ़ा गया था।

यहां से, हम देख सकते हैं कि यह हमेशा संभव है (सीडी की तरह राइट-वन मीडिया को छोड़कर) एक ड्राइव पर बिट्स को सीधे संशोधित करें और अंतिम संशोधित समय, या यहां तक ​​कि निर्माण समय को संग्रहीत करें।

अधिक व्यावहारिक रूप से, यह सामान्य ऑपरेटिंग सिस्टम के भीतर से भी उल्लेखनीय है, क्योंकि अन्य उत्तर नोट किए गए हैं। विंडोज में, यह WinAPI SetFileTimeफ़ंक्शन द्वारा प्रदान किया गया है, और आप utimeलिनक्स पर ऐसा कर सकते हैं । touchइन एपीआई के शीर्ष पर निर्माण जैसे उपकरण ।

इन एपीआई के लिए सबसे आम वैध उपयोग संशोधन समय को संरक्षित करने में होता है, उदाहरण के लिए, जब फ़ाइलों की प्रतिलिपि बनाते हैं, उन्हें अभिलेखागार आदि से निकालते हैं।


0

मेरे अनुभव में यह तब हुआ है जब फ़ाइल को संशोधित करने के लिए एक या अधिक कंप्यूटर का उपयोग किया गया है और उनमें से एक में गलत सिस्टम समय है। सिस्टम समय के गलत होने के तीन सबसे आम कारण हैं, कोई विशेष क्रम में नहीं हैं:

  1. सभी कंप्यूटरों को स्वचालित रूप से डेलाइट बचत समय में बदलने के लिए कॉन्फ़िगर नहीं किया गया है।
  2. लोगों ने "गलती से" एक कंप्यूटर पर सिस्टम का समय बदल दिया है।
  3. लोगों ने "जानबूझकर" एक मज़ाक के रूप में कंप्यूटर पर सिस्टम का समय बदल दिया है।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.