मैं किसी फ़ाइल पर टाइमस्टैम्प को कैसे बदल सकता हूं? [डुप्लिकेट]


74

संभव डुप्लिकेट:
एक dll या exe में टाइमस्टैम्प को कैसे संशोधित किया जाए?
लिनक्स कमांड 'टच' के बराबर विंडोज?

मैं कमांड-लाइन के माध्यम से एक विशिष्ट तिथि तक फ़ाइल के लिए टाइमस्टैम्प कैसे सेट कर सकता हूं?

मेरी विशिष्ट स्थिति विंडोज 7 है।


1
आपको संभवतः अपने प्रश्न और स्थिति को स्पष्ट करना चाहिए कि आप नया टाइमस्टैम्प चुनना चाहते हैं। दो वर्तमान उत्तर मान लेते हैं कि आप यूनिक्स कमांड के विंडोज पोर्ट की तलाश कर रहे हैं touchजो वर्तमान समय में एक फाइल का टाइमस्टैम्प सेट करता है।
विलियम जैक्सन

मैं Sysinternals के माध्यम से देखा है, और मुझे पूरा यकीन है कि वे इस के लिए एक उपयोगिता नहीं है। आप से लिंक कार्यक्रमों की कोशिश करनी चाहिए superuser.com/questions/135901/...
विलियम जैक्सन

@William जैक्सन बदल गया, इसके लिए धन्यवाद। इसके अलावा, अगर यह वास्तव में यूनिक्स कमांड का एक बंदरगाह था, तो touchमैं तारीख निर्दिष्ट कर सकता था। en.wikipedia.org/wiki/Touch_(Unix) । हालांकि ऑटो लिंकिंग में कुछ गड़बड़ है, सुनिश्चित करें कि आपको दोनों कोष्ठक मिलें।
जोसेफ हेंसन

1
मैं ... विश्वास नहीं कर सकता कि मैंने कभी पढ़ने की जहमत नहीं उठाई man touch। आपने मुझे कुछ नया सिखाया है।
विलियम जैक्सन

जवाबों:


92

विलियम जैक्सन के जवाब के कारण , मुझे स्टैक ओवरफ्लो पर एक समान प्रश्न मिला ।

स्वीकार किए जाते हैं जवाब राज्यों Powershell और इन आदेशों का उपयोग करने के लिए:

$(Get-Item ).creationtime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
$(Get-Item ).lastaccesstime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")
$(Get-Item ).lastwritetime=$(Get-Date "mm/dd/yyyy hh:mm am/pm")

संपादित करें

दो उदाहरण:

(यह एक टिप्पणी से है :) aaa.csvवर्तमान समय के लिए एक फ़ाइल के लिए अंतिम पहुँच समय सेट करें :

$(Get-Item aaa.csv).lastwritetime=$(Get-Date)

फ़ाइल का निर्माण समय foo.txt24 नवंबर, 2015 को सुबह 6:00 बजे निर्धारित करें :

$(Get-Item foo.txt).creationtime=$(Get-Date "11/24/2015 06:00 am")

8
थोड़ी भिन्नता जो पुनरावर्ती और थोड़ी कम होती है, हालाँकि कम पठनीय होती है: "gci -rec |% {$ _। LastWriteTime = ($ _। LastAccessTime = ($ _। creationTime) = (get-date- 2011-09-14T07: 10:00 ")))}"
codybartfast

9
Powershell के बारे में ज्यादा नहीं जानने वाले लोगों के लिए, आपको Get-Item के बाद फ़ाइल नाम रखना होगा। आप टच-कमांड के डिफ़ॉल्ट व्यवहार की तरह वर्तमान तिथि / समय के लिए विशेषता सेट करने के लिए गेट-डेट के बाद स्ट्रिंग को भी छोड़ सकते हैं। अंत में आप उस कोड को पॉवरशेल कमांड के पास एक तर्क के रूप में पास कर सकते हैं, ताकि यह एक मौजूदा बैच फ़ाइल से निष्पादित हो सके। उदाहरण:powershell $(Get-Item aaa.csv).lastwritetime=$(Get-Date)
sjbotha

1
क्या होगा अगर मैं एक निर्देशिका में हर फ़ाइल के लिए ऐसा करना चाहता हूं?
कोडब्यूस्टीन जूल

"हर फ़ाइल को पॉवर्सशेल करें" खोजें। आपको इस तरह के सवाल मिल सकते हैं: stackoverflow.com/q/16804265/756329 और stackoverflow.com/q/181036/756329
जोसेफ हेन्सन

4
दिनांक और समय प्रारूप कमांड के अनुसार नहीं है, लेकिन सिस्टम वाइड एक (तो, मेरे सिस्टम में, यह dd / mm / yyy था)।
मार्टिन अरगामी

40

इस प्रश्न के उत्तर देखें ।

विशेष रूप से, यह देशी रूप से किया जा सकता है:

copy /b filename.ext +,,

यह वर्तमान समय के लिए टाइमस्टैम्प सेट करेगा।

copyकमांड के लिए प्रलेखन TechNet पर है

अल्पविराम गंतव्य पैरामीटर की चूक को दर्शाता है ।


2
क्या आप बता सकते हैं कि यह कैसे काम कर रहा है? क्या है +,,? मुझे कैसे पता चलेगा कि यह किस तिथि को निर्धारित किया जा रहा है?
जोसेफ हेंसन

1
@josmh विवरण के लिए प्रलेखन लिंक की जाँच करें। जब आप कमांड चलाते हैं, तो टाइमस्टैम्प चालू समय पर सेट हो जाता है। क्या आप यह अनुमान लगा रहे हैं कि आप टाइमस्टैम्प को अपने चयन के एक समय पर बदलने के लिए सक्षम होना चाहते हैं?
विलियम जैक्सन

7
मैं यह नहीं देख रहा हूँ कि कैसे मुझे फ़ाइल के लिए एक नई तारीख चुनने में मदद मिलेगी?
जोसेफ हेंसन

इसके साथ मुख्य समस्या यह है कि जब फ़ाइल वर्तमान निर्देशिका में नहीं है ... यह फ़ाइल को वर्तमान निर्देशिका में "टच" करने के बजाय कॉपी कर देगा।
कासे स्पीकमैन

1
@KaseySpeakman - यह आदेश वर्तमान निर्देशिका में होने पर निर्भर करता है। pushd FILEDIRpopd
कॉमांड

25

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

nircmd.exe setfiletime "c: \ temp \ myfile.txt" "24-06-2003 17:57:11" "22-11-2005 10:21:56"


3
इसके अलावा, अगर आप किसी फाइल से दूसरे में समय ट्रांसफर करना चाहते हैं, तो क्लोनफिलटाइम फाइलफ्रेम फिल्टो सबसे अच्छा काम करता है!
जेसनएक्स

नॉन-कमांडलाइन, लेकिन बल्क एडिटिंग के लिए अधिक सुविधाजनक: निरस्कॉफ्ट द्वारा बल्कफाइलचेंजर
SaAtomic

15

Cygwin का उपयोग करते हुए, test.txt के टाइमस्टैम्प को 31 जनवरी, 2000 को 00: 01.00 बजे सेट करने के लिए:

touch -t 200001310001.00 test.txt

यह अमान्य दिनांक स्वरूप त्रुटि के साथ वापस आता है।
जिग्गी

@ जिगी सुनिश्चित करें कि आप सभी शून्य प्राप्त करें ...
जोसेफ हेन्सन

2
इसने मुझे touch -t 201608221400 filename22.08.2016 14:00:00 पर सेट करने के लिए पूरी तरह से काम किया ।
सेबेस्टियन

1

निम्नलिखित वेबपेज देखें: http://www.stevemiller.net/apps/

Win32 कंसोल टूलबॉक्स में 'टच' नामक एक उपयोगिता होती है जो आपको एक या अधिक फ़ाइलों पर समय को संशोधित करने की सुविधा देती है। मेरा मानना ​​है कि यह केवल अमेरिकी प्रारूप समय के साथ काम करता है, हालांकि।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.