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()"

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,"{",""),"}","")

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


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


1

Z biblioteki MSDN: Generowanie UUID interfejsu.


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 )

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);
}
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.