Як я можу генерувати UUID з командного рядка в Windows XP?


Відповіді:


11

Якщо встановлено shellhell, це простий командний рядок, щоб отримати орієнтир

powershell -Command "[guid]::NewGuid().ToString()"

Ви можете зробити команду багаторазового використання в PowerShell за допомогою. функція uuid {[guide] :: NewGuid (). ToString ()}. Просто запустіть "uuid" за потребою.
Ален О'Дея

7

Видаліть наступний код у нове ім'я файлу uuid.vbs

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

Потім ви можете запустити його з командного рядка так:

cscript //NoLogo uuid.vbs

Це буде працювати майже на будь-якому комп’ютері, на якому встановлено хост сценаріїв Windows - який, безумовно, включає в себе що-небудь пізніше Windows 2000, і, мабуть, включає також 95/98 / ME, хоча ... я не маю примірника, зручного для перевірки.

Якщо вам потрібно зняти дужки, замініть останній рядок цим

WScript.StdOut.WriteLine Replace(Replace(obj.GUID,"{",""),"}","")

4
Смішно, як в Windows він унікальний лише для кожної планети, але в Unix та пов'язаних з ним системах він унікальний у всьому Всесвіті.
Братч

2

Ви також можете використовувати цю команду в командному рядку:
wmic path win32_computersystemproduct get uuid


здається, що це добре лише для 1 настанови
drzaus

3
Це НЕ генерує GUID. Він просто показує існуючу настанову. НЕ ВИКОРИСТОВУЙТЕ це, якщо вам потрібно унікальний GUID
Air2

2
Відповідна XKCD: xkcd.com/221
TripShock

1

Чи знаєте ви, звідки я можу завантажити цей "uuidgen"?
Зубайр

Він поставляється з Visual Studio - я б очікував, що він вийде з експрес-виданням Visual C ++, який, на мою думку, також є безкоштовним завантаженням
Rowland Shaw

1
msdn.microsoft.com/en-us/library/aa373930%28VS.85%29.aspx говорить про те, що uuidgenутиліта (Uuidgen.exe) автоматично встановлюється під час встановлення набору програм для розробки програмного забезпечення платформи (SDK).
Мехпер К. Палавузлар

Чи вона недоступна як окреме завантаження, оскільки я не використовую ні SDK, ні Visual Studio.
Зубайр

1
@Zubair: Встановіть SDK, отримайте uuidgen, видаліть SDK. Все інше - це порушення авторських прав.
harrymc

1

Щоб скопіювати новий GUID у буфер обміну, використовуйте цю команду:

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

Ви можете запустити команду прямо з діалогового вікна «Пуск», «Запустити» (WinLogo + R), а потім застосувати Ctrl + V, щоб вставити створений GUID.



0

Якщо в системній ОС немає Windows SDK, але у нього є компілятор C з ланцюжком інструментів mingw-w64, тоді компілюйте цю невелику програму для створення випадкового GUID. Імпортними функціями є UuidCreate (rpcrt4.lib) для створення випадкових UUID та StringFromCLSID (ole32.lib) для перетворення UUID у широкий рядок.

#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);
}
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.