Como posso gerar um UUID a partir da linha de comando no Windows XP?

Respostas:

11

Se o powershell estiver instalado, é uma linha de comando simples para obter um guia

powershell -Command "[guid]::NewGuid().ToString()"
Air2
fonte
Você pode torná-lo um comando reutilizável no PowerShell com. função uuid {[guid] :: NewGuid (). ToString ()}. Basta executar "uuid" conforme necessário.
Alain O'Dea
7

Solte o código a seguir em um novo nome de arquivo uuid.vbs

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

Em seguida, você pode executá-lo na linha de comando da seguinte maneira:

cscript //NoLogo uuid.vbs

Isso funcionará em praticamente qualquer computador que tenha o Windows Scripting Host instalado - o que certamente inclui qualquer coisa posterior ao Windows 2000 e provavelmente também inclua 95/98 / ME ... embora eu não tenha uma instância útil para verificar.

Se você precisar remover as chaves, substitua a última linha por esta

WScript.StdOut.WriteLine Replace(Replace(obj.GUID,"{",""),"}","")
Goyuix
fonte
4
Engraçado como no Windows é único para cada planeta, mas no Unix e sistemas relacionados é único em todo o universo.
Bratch
2

Você também pode usar este comando em um prompt de comandos:
wmic path win32_computersystemproduct get uuid

teste
fonte
parece que é bom apenas para 1 guid
drzaus 15/01
4
Isso NÃO gera um GUID. Apenas mostra um guia existente. NÃO USE isso se você quiser um GUID exclusivo
Air2
2
XKCD relevante: xkcd.com/221
TripShock
1

Da biblioteca do MSDN: Gerando UUIDs de interface.

Mehper C. Palavuzlar
fonte
Você sabe onde eu posso baixar este "uuidgen"?
Yazz.com 23/06/10
Ele vem com Visual Studio - eu esperaria que ele venha com a edição expressa de Visual C ++ que eu acredito que é um download gratuito, bem
Rowland Shaw
1
O msdn.microsoft.com/en-us/library/aa373930%28VS.85%29.aspx diz que o uuidgenutilitário (Uuidgen.exe) é instalado automaticamente quando você instala o SDK (Platform Software Development Kit).
Mehper C. Palavuzlar
Não está disponível como um download separado, pois não tenho uso para o SDK ou para o Visual Studio.
Yazz.com
1
@Zubair: instale o SDK, obtenha o uuidgen, desinstale o SDK. Qualquer outra coisa é uma violação de direitos autorais.
harrymc
1

Para copiar um novo GUID para a área de transferência, use este comando:

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

Você pode executar o comando diretamente na caixa de diálogo Iniciar, Executar (WinLogo + R) e usar Ctrl + V para colar o GUID gerado.

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

Se o sistema operacional do sistema não possuir o Windows SDK, mas possuir um compilador C com a cadeia de ferramentas mingw-w64, compile esse pequeno programa para gerar GUID aleatório. As funções importadas são UuidCreate (rpcrt4.lib) para criar UUID aleatório e StringFromCLSID ( ole32.lib ) para converter UUID em cadeia ampla.

#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
fonte