Как я могу сгенерировать UUID из командной строки в Windows XP?


Ответы:


12

Если установлен PowerShell, это простая командная строка для получения руководства

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

Вы можете сделать это командой многократного использования в PowerShell. function uuid {[guid] :: NewGuid (). ToString ()}. Просто запустите "uuid" по мере необходимости.
Ален О'Ди

Я поместил эту строку в guid.bat в папке PATH, чтобы она работала в обычной командной строке и PowerShell.
biscuit314

7

Перетащите следующий код в новое имя файла uuid.vbs

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

Затем вы можете запустить его из командной строки следующим образом:

cscript //NoLogo uuid.vbs

Это будет работать практически на любом компьютере, на котором установлен Windows Scripting Host - который, конечно, включает в себя что-то более позднее, чем Windows 2000, и, вероятно, также включает в себя 95/98 / ME ... хотя у меня нет экземпляра, который можно было бы проверить.

Если вам нужно удалить скобки, замените последнюю строку этим

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

4
Забавно, что в Windows он уникален только для каждой планеты, но в Unix и связанных с ним системах он уникален во всей вселенной.
Bratch

2

Вы также можете использовать эту команду в командной строке:
wmic path win32_computersystemproduct get uuid


кажется, что это хорошо только для 1 гида
drzaus

4
Это НЕ генерирует GUID. Это просто показывает существующий гид. НЕ ИСПОЛЬЗУЙТЕ это, если вам нужен уникальный GUID
Air2

2
Соответствующий XKCD: xkcd.com/221
TripShock

2

Чтобы скопировать новый GUID в буфер обмена, используйте эту команду:

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

Вы можете запустить команду прямо из диалогового окна «Пуск», «Выполнить» (WinLogo + R), а затем использовать Ctrl + V для вставки сгенерированного GUID, который также сохранит ее в историю диалогового окна «Выполнить» - то есть, если вы будете часто использовать ее, она появится как предложение там ...


1

Вы знаете, откуда я могу скачать этот "uuidgen"?
Yazz.com

Он поставляется с 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.
Yazz.com

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


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.