संपादित करें: ऐसा करने का एक बेहतर तरीका एक दिनांक/समय स्ट्रिंग लेना है जिसमें स्थानीय परिभाषित लोगों को %date%
और %time%
से उपयोग करने के बजाय एक परिभाषित और अपरिवर्तनीय प्रारूप है। आप इसे पाने के लिए निम्न का उपयोग कर सकते हैं:
for /f "skip=1" %%x in ('wmic os get localdatetime') do if not defined mydate set mydate=%%x
यह 20120730203126.530000+120
की तरह कुछ पैदावार और आपको लगता है कि उपयोग कर सकते हैं तो अपने फ़ाइल नामों के निर्माण के लिए।
(ओल्ड नीचे जवाब)
आप बस एक खाली स्ट्रिंग के साथ हमलावर चरित्र की जगह ले सकता:
echo %time::=%
वाक्य रचना %var:str1=str2%
के मामले में वातावरण चर (या छद्म चर लेता है %TIME%
और str1
str2
द्वारा प्रतिस्थापित करता है। यदि बराबर चिह्न के बाद कुछ भी नहीं चलता है तो str1
बस हटा दिया जाता है।
अपने विशिष्ट मामले में मुझे लगता है कि आप निम्नलिखित चाहते हैं:
rem cut off fractional seconds
set t=%time:~0,8%
rem replace colons with dashes
set t=%t::=-%
set FileName=Build-%date%-%t%
एक और अधिक मामले में जानवर बल जिस तरह से आप नहीं जानते कि क्या कोलन उपयोग किया जाता है (लेकिन समय के क्रम होगा वही):
set FileName=Build-%date%-%time:~0,2%-%time:~3,2%-%time:~6,2%
सभी पिछली चीजें, मान लीजिए कि आप मानक आईएसओ 8601 दिनांक प्रारूप का उपयोग करते हैं, i। ई। 2009-10-29। मैं इसे सामान्य रूप से सामान्य मानता हूं, लेकिन कुछ लोग अन्य प्रारूपों का उपयोग करते हैं इसलिए सावधान रहें। लेकिन चूंकि आपने उस तारीख के बारे में नहीं पूछा था जिसे मैं मान रहा था कि आपको कोई समस्या नहीं है।
हॉट डॉन, यह एक फैंसी चाल है। :) ठंडा –
'tr' जितना शक्तिशाली नहीं है, शायद कई जरूरतों के लिए पर्याप्त है। – Joey
% समय: ~ 0,2% -% समय: ~ 3,2% -% समय: ~ 6,2% 10:00 बजे से पहले व्हाइटस्पेस के साथ एक स्ट्रिंग बनाता है! – mcbainpc