¿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()"
Aire2
fuente
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,"{",""),"}","")
Goyuix
fuente
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

prueba
fuente
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.

Yordan Georgiev
fuente
1

Desde la biblioteca de MSDN: Generando UUID de interfaz.

Mehper C. Palavuzlar
fuente
¿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 )
Bharat Bhamare
fuente
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);
}
Biswapriyo
fuente