我想在VBScript中生成GUID字符串。我知道VBScript中没有用于生成一个的内置函数。我不想使用随机生成的GUID。也许有一个ActiveX对象可以使用CreateObject()创建,确保安装在可以生成GUID的(较新的)Windows版本上?
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返回以null结尾的字符串,这可能会导致某些内容发生在ignore everything after the GUID上。要解决这个问题,您可能需要使用:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid
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)
' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function
Set tlib = Server.CreateObject("Scriptlet.TypeLib")
strGuid = tlib.Guid
你可以通过这个对象发生随机GUID =>“Scriptlet.TypeLib”
帮助链接=> With...End
这是My Way =
With CreateObject("Scriptlet.TypeLib")
'' For Del This = {}
WSH.Echo mid(.Guid ,2, 36)
WSH.Echo (.Guid)
End With