Chcę generować ciągi GUID w VBScript. Wiem, że nie ma wbudowanej funkcji w VBScript do jej generowania. Nie chcę używać generowanych losowo identyfikatorów GUID. Może istnieje obiekt ActiveX, który można utworzyć za pomocą metody CreateObject(), która na pewno zostanie zainstalowana w (nowszych) wersjach systemu Windows, które mogą generować identyfikator GUID?Jak wygenerować identyfikator GUID w VBScript?
Odpowiedz
How Can I Create a GUID Using a Script? (in: Hey, Scripting Guy! Blog) mówi tak:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid
jednak pamiętać, że Scriptlet.TypeLib.Guid zwraca ciąg znaków NUL, co może powodować pewne rzeczy do ignore everything after the GUID. Aby to naprawić, może trzeba użyć:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid
Dzięki! Lubię "Hej, Skrypciarze!" połączyć! – vividos
Dla każdego, kto używa tej metody, należy pamiętać, że obiekt 'Scriptlet.TypeLib' zwraca taki sam identyfikator GUID za każdym razem, gdy wywoływana jest właściwość' GUID'. Jeśli potrzebujesz wygenerować wiele identyfikatorów GUID, zniszcz i odtwórz obiekt 'Scriptlet.TypeLib' lub, jeszcze lepiej, zawiń go w funkcję pokazaną tak, jak inne, tak aby obiekt był tworzony i niszczony przy każdym wywołaniu funkcji. – Bond
@vividos zepsuty link jest już naprawiony (dzięki 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
Ta funkcja powróci zwykły GUID, np 47BC69BD-06A5-4617-B730-B644DBCD40A9
.
Jeśli chcesz GUID w formacie rejestru, np {47BC69BD-06A5-4617-B730-B644DBCD40A9}
, zmienić ostatni wiersz z funkcji do
CreateGUID = Left(TypeLib.Guid, 38)
Najlepsza odpowiedź: łączy dostarczając niezbyt inteligentną funkcję i dodając dodatkowy materiał do informacji o szczegółach. To powinna być zaakceptowana odpowiedź. – Wolf
' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function
- 1. Jak mogę wygenerować identyfikator GUID w Vimie?
- 2. Jak wygenerować identyfikator GUID dla ciągu?
- 3. Jak automatycznie wygenerować identyfikator GUID dla tabeli dołączania?
- 4. Identyfikator GUID z YouTube-a:
- 5. Jak utworzyć swój identyfikator GUID?
- 6. Jak wziąć identyfikator GUID jako parametr atrybutu?
- 7. Jak wygenerować unikalny identyfikator obiektu w mongodb
- 8. Jak wygenerować unikalny identyfikator w Dart
- 9. Jak wygenerować unikalny identyfikator żądania w Railsach?
- 10. Jak mogę reprezentować identyfikator GUID w obiekcie json?
- 11. Jak utworzyć identyfikator GUID podczas wywoływania aktywnego szablonu w Delphi?
- 12. Ile razy można losowo wygenerować identyfikator GUID przed ryzykiem duplikatów? (.NET)
- 13. C# GUID i unikalny identyfikator SQL
- 14. Jak wygenerować Guid z tablicy bajtów SHA-1?
- 15. jak utworzyć GUID?
- 16. Jak sprawdzić, czy identyfikator GUID jest równy zero?
- 17. Jak utworzyć identyfikator GUID/UUID za pomocą iPhone'a SDK
- 18. JavaScript przekonwertuj identyfikator GUID w formacie string na Base64
- 19. Generowanie identyfikatora GUID z łańcucha, który nie ma formatu GUID
- 20. Unikalny identyfikator (guid) jako klucz podstawowy w projekcie bazy danych
- 21. Brakujący identyfikator GUID w programie Visual Studio Enterprise 2017?
- 22. GUID generujący bez myślnika
- 23. Jak wygenerować unikalny identyfikator stałej długości w Javie?
- 24. Wstaw nowy identyfikator GUID do programu Visual Studio 2013
- 25. Włóż nowy identyfikator GUID do programu Visual Studio 2012
- 26. jak wygenerować identyfikator klienta OAuth i sekret klienta?
- 27. Jaki jest obsługiwany identyfikator GUID dla systemu Windows 10?
- 28. Jak wygenerować niestandardowy identyfikator sesji z sesją ekspresową?
- 29. Identyfikator GUID wiersza polecenia dla systemów Unix i Windows?
- 30. Jak zakończyć proces w vbscript
myślę, że przyjęte rozwiązanie ma znacznie niższą jakość niż [Najwyżej oceniane One] (http://stackoverflow.com/a/968790/2932052). Może powód do przemyślenia swojej decyzji? – Wolf