¿Cómo puedo generar un UUID desde la línea de comandos en Windows XP?


Respuestas:


12

Si PowerShell está instalado, esta es una línea de comando simple para obtener un GUID

powershell -Command "[guid]::NewGuid().ToString()"

Puede convertirlo en un comando reutilizable dentro de PowerShell con. función uuid {[guid] :: NewGuid (). ToString ()}. Simplemente ejecute "uuid" según sea necesario.
— Alain O'Dea

Puse esta línea en guid.bat en una carpeta PATH para que funcione en el símbolo del sistema regular y PowerShell.
— biscuit314 hace

7

Coloque el siguiente código en un nuevo nombre de archivo uuid.vbs

set obj = CreateObject("Scriptlet.TypeLib")
WScript.StdOut.WriteLine obj.GUID

Luego puede ejecutarlo desde la línea de comando de la siguiente manera:

cscript //NoLogo uuid.vbs

Esto funcionará en casi cualquier computadora que tenga instalado Windows Scripting Host, que ciertamente incluye cualquier cosa posterior a Windows 2000, y probablemente también incluye 95/98 / ME ... aunque no tengo una instancia útil para verificar.

Si necesita quitar las llaves, reemplace la última línea con esto

WScript.StdOut.WriteLine Replace(Replace(obj.GUID,"{",""),"}","")

44
Es curioso cómo en Windows solo es único para cada planeta, pero en Unix y sistemas relacionados es único en todo el universo.
— Bratch

2

También puede usar este comando en un símbolo del sistema:
wmic path win32_computersystemproduct get uuid


parece que solo es bueno para 1 guid
— drzaus

44
Esto NO genera un GUID. Solo muestra un guid existente. NO UTILICE esto si desea un GUID único
— Air2

2
XKCD relevante: xkcd.com/221
— TripShock

2

Para copiar un nuevo GUID al portapapeles, use este comando:

cmd /c powershell.exe -Command "[guid]::NewGuid().ToString()|Set-Clipboard"

Puede ejecutar el comando directamente desde el cuadro de diálogo Inicio, Ejecutar (WinLogo + R), luego use Ctrl + V para pegar el GUID generado.


1

Desde la biblioteca de MSDN: Generando UUID de interfaz.


¿Sabes de dónde puedo descargar este "uuidgen"?
— Yazz.com

Viene con Visual Studio. Espero que venga con la edición express de Visual C ++, que creo que también es una descarga gratuita
— Rowland Shaw

1
msdn.microsoft.com/en-us/library/aa373930%28VS.85%29.aspx dice que la uuidgenutilidad (Uuidgen.exe) se instala automáticamente cuando instala el Kit de desarrollo de software de plataforma (SDK).
— Mehper C. Palavuzlar

¿No está disponible como una descarga separada, ya que no tengo uso para el SDK o para Visual Studio.
— Yazz.com

1
@Zubair: Instale SDK, obtenga uuidgen, desinstale SDK. Cualquier otra cosa es una violación de derechos de autor.
— harrymc

0
  FOR /F %a IN ('POWERSHELL -COMMAND "$([guid]::NewGuid().ToString())"') DO ( SET NEWGUID=%a )

0

Si el sistema operativo no tiene Windows SDK pero tiene un compilador de C con la cadena de herramientas mingw-w64, compile este pequeño programa para generar un GUID aleatorio. Las funciones importadas son UuidCreate (rpcrt4.lib) para crear UUID aleatorio y StringFromCLSID (ole32.lib) para convertir UUID en cadena ancha.

#include <Windows.h>
#include <stdio.h>

/*
 * int UuidCreate(GUID *id);
 * int StringFromCLSID(GUID *id, wchar_t **str);
 * Libraries: Rpcrt4.lib Ole32.lib
 */

int main(void)
{
    GUID id;
    wchar_t *str = NULL;

    UuidCreate(&id);
    StringFromCLSID(&id, &str);
    wprintf(L"%ls\n", str);
}
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.