Я хочу генерировать строки GUID в VBScript. Я знаю, что в VBScript нет встроенной функции для ее создания. Я не хочу использовать произвольно созданные GUID. Может быть, есть объект ActiveX, который можно создать с помощью CreateObject(), который обязательно будет установлен на (более новых) версиях Windows, которые могут генерировать GUID?
Как сгенерировать GUID в VBScript?
Ответ 1
Как я могу создать GUID, используя скрипт? (в: Эй, автор сценариев! Блог) говорит следующее:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid
Однако обратите внимание, что Scriptlet.TypeLib.Guid возвращает строку с нулевым символом в конце, которая может привести к тому, что некоторые вещи будут игнорировать все после GUID. Чтобы это исправить, вам может понадобиться:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid
Ответ 2
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)
Ответ 3
' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function
Ответ 4
Set tlib = Server.CreateObject("Scriptlet.TypeLib")
strGuid = tlib.Guid
Ответ 5
Вы можете генерировать случайный GUID через этот объект => "Scriptlet.TypeLib"
Справка Ссылка => С... Конец
Вот мой путь =
With CreateObject("Scriptlet.TypeLib")
'' For Del This = {}
WSH.Echo mid(.Guid ,2, 36)
WSH.Echo (.Guid)
End With
Ответ 6
Это َ Другой способ:
msgbox mid(CreateObject("Scriptlet.TypeLib").Guid ,2, 36)
msgbox (CreateObject("Scriptlet.TypeLib").Guid)