मेरे पास बैकअप स्क्रिप्ट है जो डेटाबेस को डंप करता है। मैं फ़ाइल नाम में दिनांक टाइमस्टैम्प कैसे जोड़ सकता हूं?
मैं विंडोज और सीएमडी के बारे में बात कर रहा हूं।
मेरे पास बैकअप स्क्रिप्ट है जो डेटाबेस को डंप करता है। मैं फ़ाइल नाम में दिनांक टाइमस्टैम्प कैसे जोड़ सकता हूं?
मैं विंडोज और सीएमडी के बारे में बात कर रहा हूं।
जवाबों:
कमांड प्रॉम्प्ट और बैच फ़ाइलों में, आप उपयोग कर सकते हैं %date%
और %time%
क्रमश: दिनांक और समय वापस जाने के लिए। दिनांक ठीक काम करता है, लेकिन समय के मान में कॉलोन शामिल हैं, जो फ़ाइल नाम में उपयोग के लिए अवैध हैं, लेकिन उन को हटाने का एक तरीका है।
कुछ का उपयोग करें:
COPY file.txt file_%time:~0,2%%time:~3,2%%time:~6,2%_%date:~-10,2%%date:~-7,2%%date:~-4,4%.txt
यह एक फ़ाइल नाम जैसे उत्पादन करेगा file_172215_01062009.txt
अपडेट: नीचे दी गई टिप्पणियों में इस कमांड पर दिलचस्प ट्विस्ट हैं और साथ ही कुछ संभावित समस्याएं भी हैं जिनसे आप बच सकते हैं।
%DATE%
और %TIME%
स्थानीय-जागरूक हैं! इसका मतलब है कि एक यूरोपीय मशीन पर, आपको मिलता है DD.MM.YYYY
। अरे।
का प्रयोग करें %DATE%
और / या %TIME
वातावरण चर, वैकल्पिक रूप से अक्षर हैं जो फ़ाइल नाम में अनुमति नहीं है, का उपयोग करते हुए प्रतिस्थापन %name:from=to%
( %TIME::=%
सभी कोलन को दूर करेंगे)।
सिद्धांत »गूंज% तारीख% 2009-06-01 सिद्धांत »गूंज% समय% 16: 30: 41,46 सिद्धांत »गूंज% समय :: =% 163052,17 सिद्धांत »गूंज% समय :: =,% 16,30,58,68 सिद्धांत »गूंज बैकअप-% दिनांक% -% समय :: = -%। ज़िप बैकअप-2009-06-01-16-31-18,82.zip
set tmp=%tmp:x=y%
आदि की एक श्रृंखला है
जो भी क्षेत्रीय सेटिंग हो, उचित तिथि प्राप्त करने का एकमात्र विश्वसनीय तरीका foxidrive @ /programming/11037831/filename-timestamp-in-windows-cmd-batch-script है।
@echo off
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"
set "datestamp=%YYYY%%MM%%DD%" & set "timestamp=%HH%%Min%%Sec%"
set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause
फ़ाइल नाम में% DATE% चर का उपयोग करें।
एक% TIME% वैरिएबल भी है, लेकिन इसमें ऐसे वर्ण हैं, जिन्हें फ़ाइल नाम में अनुमति नहीं है।
यहां एक नई फ़ाइल में टेक्स्ट की एक पंक्ति लिखने का एक उदाहरण है, जहां बनाई गई फ़ाइल के नाम में एक दिनांक और समय है।
echo "testfile" >> backup-%DATE%.txt