¿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.