Quiero generar cadenas GUID en VBScript. Sé que no hay una función incorporada en VBScript para generar uno. No quiero usar GUID aleatorios. Tal vez hay un objeto ActiveX que se puede crear usando CreateObject() que seguramente se instalará en versiones (más recientes) de Windows que pueden generar un GUID?¿Cómo generar un GUID en VBScript?
Respuesta
How Can I Create a GUID Using a Script? (in: Hey, Scripting Guy! Blog) dice esto:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
Wscript.Echo TypeLib.Guid
Sin embargo, tenga en cuenta que Scriptlet.TypeLib.Guid devuelve una cadena terminada en cero, lo que puede causar que algunas cosas que ignore everything after the GUID. Para corregir esto, puede que tenga que utilizar:
Set TypeLib = CreateObject("Scriptlet.TypeLib")
myGuid = TypeLib.Guid
myGuid = Left(myGuid, Len(myGuid)-2)
Wscript.Echo myGuid
Gracias! Me gusta el "¡Hola, chico de scripting!" ¡enlazar! – vividos
Para cualquiera que use este método, tenga en cuenta que el objeto 'Scriptlet.TypeLib' devolverá _el mismo GUID_ cada vez que invoque la propiedad' GUID'. Si necesita generar múltiples GUID, destruya y vuelva a crear el objeto 'Scriptlet.TypeLib' o, mejor aún, envuélvalo en una función como otras han mostrado para que el objeto sea creado y destruido con cada llamada a la función. – Bond
@vividos El enlace roto está arreglado ahora (gracias a 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
Esta función devolverá un GUID llano, por ejemplo, 47BC69BD-06A5-4617-B730-B644DBCD40A9
.
Si quieres un GUID en un formato de registro, por ejemplo, {47BC69BD-06A5-4617-B730-B644DBCD40A9}
, cambie la última línea de la función de
CreateGUID = Left(TypeLib.Guid, 38)
Mejor respuesta: combina proporcionando una función no demasiado inteligente y agregando material adicional para obtener información sobre los detalles. Esta debería ser la respuesta aceptada. – Wolf
' Returns a unique Guid on every call. Removes any cruft.
Function CreateGuid()
CreateGuid = Left(CreateObject("Scriptlet.TypeLib").Guid,38)
End Function
- 1. ¿Cómo generar un GUID en Oracle?
- 2. ¿Cómo puedo generar un GUID en Vim?
- 3. ¿Cómo generar un nuevo GUID en Inno Setup?
- 4. ¿Cómo puedo generar un GUID para una cadena?
- 5. ¿Hay alguna forma de generar un guid en ANT?
- 6. ¿Cómo generar MD5 utilizando VBScript en ASP clásico?
- 7. Cómo validar GUID es un GUID
- 8. Generar Microsoft GUID sin tarjeta de red
- 9. Cómo convertir guid? guid
- 10. La salida de un GUID en VBScript ignora todo el texto después de él
- 11. Ejecuta un vbscript desde otro vbscript
- 12. Prueba con un guid ... ¿cómo configuro la variable como Guid?
- 13. Cómo finalizar un proceso en vbscript
- 14. Convirtiendo un Guid a Nullable Guid
- 15. Cómo puedo crear un guid en MFC
- 16. ¿Cómo declarar un Guid constante en C#?
- 17. ¿Cómo debo almacenar un GUID en Oracle?
- 18. Crear un GUID en Java
- 19. GUID en un archivo SLN
- 20. ¿Cómo obtener GUID en android?
- 21. Cómo validar Guid en .net
- 22. Generación de un nuevo GUID aleatorio en Delphi IDE
- 23. ¿Existe algún método para generar un GUID estándar de 128 bits (UUID) en la Mac?
- 24. ¿Cómo agregar un GUID simpleType en un esquema XML?
- 25. ¿Cómo represento un GUID en un objeto json?
- 26. cómo crear GUID?
- 27. booleana No en VBScript
- 28. CommonAppData en vbscript
- 29. Compruebe si existe un objeto en VBScript
- 30. ¿Hay un "\ n" equivalente en VBscript?
creo que la respuesta aceptada tiene mucho menor calidad que el [más votos uno] (http://stackoverflow.com/a/968790/2932052). Tal vez una razón para reconsiderar su decisión? – Wolf