Jak wygenerować identyfikator UUID z wiersza polecenia w systemie Windows XP?

Odpowiedzi:

12

Jeśli jest zainstalowany PowerShell, jest to prosty wiersz polecenia, aby uzyskać przewodnik

powershell -Command "[guid]::NewGuid().ToString()"
Air2
źródło
Możesz uczynić to polecenie wielokrotnego użytku w programie PowerShell za pomocą. function uuid {[guid] :: NewGuid (). ToString ()}. Po prostu uruchom „uuid” w razie potrzeby.
Alain O'Dea,
Umieściłem ten wiersz w pliku guid.bat w folderze PATH, aby działał w zwykłym wierszu polecenia i programie PowerShell.
biscuit314
7

Upuść następujący kod do nowej nazwy pliku uuid.vbs

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

Następnie możesz uruchomić go z wiersza poleceń w następujący sposób:

cscript //NoLogo uuid.vbs

Będzie to działać na prawie każdym komputerze, na którym jest zainstalowany Windows Scripting Host - który z pewnością zawiera wszystko później niż Windows 2000 i prawdopodobnie obejmuje także 95/98 / ME ... chociaż nie mam instancji przydatnej do sprawdzenia.

Jeśli chcesz usunąć nawiasy klamrowe, zastąp ostatnią linię tym

WScript.StdOut.WriteLine Replace(Replace(obj.GUID,"{",""),"}","")
Goyuix
źródło
4
Zabawne, że w systemie Windows jest unikalny tylko dla każdej planety, ale w systemach Unix i pokrewnych jest wyjątkowy w całym wszechświecie.
Bratch
2

Możesz także użyć tego polecenia w wierszu polecenia:
wmic path win32_computersystemproduct get uuid

test
źródło
wydaje się, że jest dobry tylko dla 1 przewodnika
drzaus
4
To NIE generuje GUID. Pokazuje tylko istniejącego przewodnika. NIE UŻYWAJ tego, jeśli chcesz mieć unikalny GUID
Air2
2
Odpowiedni XKCD: xkcd.com/221
TripShock
2

Aby skopiować nowy identyfikator GUID do schowka, użyj tego polecenia:

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

Możesz uruchomić polecenie bezpośrednio z okna Start, Uruchom (WinLogo + R), a następnie użyj Ctrl + V, aby wkleić wygenerowany identyfikator GUID, który BĘDZIE również zapisywać go w historii okna dialogowego Uruchom - inaczej jeśli często go używasz, wyskakuje- tam jako sugestia ...

Yordan Georgiev
źródło
1

Z biblioteki MSDN: Generowanie UUID interfejsu.

Mehper C. Palavuzlar
źródło
Czy wiesz, skąd mogę pobrać ten „uuidgen”?
Yazz.com
Jest dostarczany z Visual Studio - spodziewałbym się, że zostanie dostarczony wraz z ekspresową wersją Visual C ++, która moim zdaniem jest również bezpłatna do pobrania
Rowland Shaw
1
msdn.microsoft.com/en-us/library/aa373930%28VS.85%29.aspx mówi, że uuidgennarzędzie (Uuidgen.exe) jest instalowane automatycznie podczas instalacji pakietu Software Development Kit (SDK).
Mehper C. Palavuzlar
Czy nie jest dostępny jako osobny plik do pobrania, ponieważ nie mam zastosowania do zestawu SDK ani programu Visual Studio.
Yazz.com
1
@Zubair: Zainstaluj SDK, pobierz uuidgen, odinstaluj SDK. Wszystko inne stanowi naruszenie praw autorskich.
harrymc
0
  FOR /F %a IN ('POWERSHELL -COMMAND "$([guid]::NewGuid().ToString())"') DO ( SET NEWGUID=%a )
Bharat Bhamare
źródło
0

Jeśli systemowy system operacyjny nie ma zestawu Windows SDK, ale ma kompilator C z zestawem narzędzi mingw-w64, skompiluj ten mały program, aby wygenerować losowy identyfikator GUID. Zaimportowane funkcje to UuidCreate (rpcrt4.lib) w celu utworzenia losowego UUID i StringFromCLSID (ole32.lib) w celu konwersji UUID na szeroki ciąg.

#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
źródło