मैं वीबीस्क्रिप्ट में GUID तार उत्पन्न करना चाहता हूं। मुझे पता है कि वी उत्पन्न करने के लिए वीबीस्क्रिप्ट में कोई अंतर्निहित फ़ंक्शन नहीं है। मैं यादृच्छिक जेनरेट किए गए GUID का उपयोग नहीं करना चाहता हूं। हो सकता है कि एक ActiveX ऑब्जेक्ट है जिसे CreateObject() का उपयोग करके बनाया जा सकता है जो कि (नए) विंडोज संस्करणों पर स्थापित होना सुनिश्चित है जो GUID उत्पन्न कर सकते हैं?वीबीस्क्रिप्ट में GUID कैसे उत्पन्न करें?
उत्तर
How Can I Create a GUID Using a Script? (in: Hey, Scripting Guy! Blog) कहना है कि यह:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid
हालांकि, ध्यान दें कि Scriptlet.TypeLib.Guid रिटर्न एक अशक्त-समाप्त स्ट्रिंग, जो ignore everything after the GUID को कुछ चीजें पैदा कर सकता है। कि ठीक करने के लिए, आप उपयोग करना पड़ सकता है:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid
धन्यवाद! मुझे "हे, स्क्रिप्टिंग गाय" पसंद है! संपर्क! – vividos
इस विधि का उपयोग करने वाले किसी भी व्यक्ति के लिए, ध्यान रखें कि 'Scriptlet.TypeLib' ऑब्जेक्ट प्रत्येक GUID_ को वापस लौटाएगा जब भी आप' GUID' प्रॉपर्टी का आह्वान करेंगे। यदि आपको एकाधिक GUID उत्पन्न करने की आवश्यकता है, तो 'Scriptlet.TypeLib' ऑब्जेक्ट को नष्ट करें और फिर से बनाएं, या बेहतर है, इसे किसी फ़ंक्शन में लपेटें जैसे कि अन्य लोगों ने दिखाया है कि ऑब्जेक्ट प्रत्येक फंक्शन कॉल के साथ बनाया और नष्ट हो गया है। – Bond
@Vividos टूटी हुई लिंक अब तय की गई है (Google के लिए धन्यवाद) – Wolf
Set tlib = Server.CreateObject("Scriptlet.TypeLib")
strGuid = tlib.Guid
Function CreateGUID
Dim TypeLib
Set TypeLib = CreateObject("Scriptlet.TypeLib")
CreateGUID = Mid(TypeLib.Guid, 2, 36)
End Function
यह समारोह एक सादे GUID जैसे 47BC69BD-06A5-4617-B730-B644DBCD40A9
वापस आ जाएगी।
आप एक रजिस्ट्री प्रारूप में एक GUID, जैसे, {47BC69BD-06A5-4617-B730-B644DBCD40A9}
,
CreateGUID = Left(TypeLib.Guid, 38)
सर्वश्रेष्ठ उत्तर: विवरणों के बारे में जानकारी के लिए एक बहुत ही स्मार्ट फ़ंक्शन प्रदान करने और अतिरिक्त सामग्री जोड़ने को जोड़ती है। यह स्वीकार्य उत्तर होना चाहिए। – Wolf
' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function
को समारोह के अंतिम लाइन बदलने मुझे लगता है कि स्वीकार किए जाते हैं जवाब बहुत कम गुणवत्ता की तुलना में [उच्चतम एक मतदान] है (चाहते हैं http://stackoverflow.com/a/968790/2932052)। शायद आपके निर्णय पर पुनर्विचार करने का एक कारण? – Wolf