मैं एक बैच फ़ाइल में उपयोग करने के लिए एक अस्थायी फ़ाइल का पथ बनाने की कोशिश कर रहा हूं।बाहरी उपकरण के बिना कमांड प्रॉम्प्ट में एक अद्वितीय अस्थायी फ़ाइल पथ कैसे बनाएँ?
वर्तमान उपयोगकर्ता के लिए अस्थायी निर्देशिका प्राप्त करने के लिए पर्यावरण चर %TEMP%
और %TMP%
हैं। लेकिन एक फ़ाइल नाम कैसे बनाया जाए जो निश्चित रूप से अभी तक अस्तित्व में नहीं है?
बेशक मैं अंतर्निहित वैरिएबल %RANDOM%
और बनाने bat~%RANDOM%.tmp
की तरह कुछ का उपयोग कर सकते हैं, लेकिन इस विधि पहले यह सुनिश्चित करता है नहीं वर्तमान में उस फ़ाइल गैर-मौजूद है (या कि यह संयोग अन्य अनुप्रयोग द्वारा बनाया जाएगा, मैंने पहले इसे डिस्क पर बनाएं और इसे लिखें) - हालांकि यह सब बहुत ही असंभव है।
मैं जानता हूँ कि मैं सिर्फ भी जोड़कर %DATE%
/%TIME%
द्वारा इस तरह के टकराव की संभावना को कम कर सकता है, या बस कई %RANDOM%
उदाहरणों को जोड़कर, लेकिन यह नहीं है कि मैं क्या चाहते हैं ...
नोट: के अनुसार this post, .NET (Path.GetTempFileName()
) में एक विधि है जो वास्तव में मैं जो पूछ रहा हूं (गलत प्रोग्रामिंग भाषा के अलावा)।
समस्या है, यादृच्छिक%% वर्तमान समय (सेकंड में) से एक समारोह के रूप उत्पन्न होता है, जिसका अर्थ है कि अपने कोड 1 सेकंड के लिए एक पाश में हो जाएगा जब आप एक दूसरी फ़ाइल की जरूरत है। – Sergei
@ सेर्गी नोप। चल रहा है उदा। '%%% echo और> NUL (/ l% g में (1,1,120) @call d: \ bat \ SO \7998.bat) और cmd/V/C" echo! time! "और dir डी: \ test \ afolderpath \ withoutspaces | "फ़ाइल (ओं)" ढूंढें "दिखाता है कि ** सभी **' 720' फ़ाइलें (= 6 * 120) सीसीए 3.5 सेकंड के दौरान बनाई जाती हैं, बार-बार (अब मेरे पास दिए गए टेम्पलेट पैटर्न की सीसीए 1220 फाइलें हैं प्रत्येक परीक्षण निर्देशिका)। Https://ss64.com/nt/syntax-random.html – JosefZ
पढ़ें जब मैं एक ही कमांड को वास्तव में तेज़ी से चला रहा हूं तो मुझे यह http://imgur.com/a/6SVmu – Sergei