Câu trả lời:
Nếu powershell được cài đặt, đây là một dòng lệnh đơn giản để có được hướng dẫn
powershell -Command "[guid]::NewGuid().ToString()"
Thả mã sau vào tên tệp mới uuid.vbs
set obj = CreateObject("Scriptlet.TypeLib")
WScript.StdOut.WriteLine obj.GUID
Sau đó, bạn có thể chạy nó từ dòng lệnh như vậy:
cscript //NoLogo uuid.vbs
Điều này sẽ hoạt động trên hầu hết mọi máy tính đã cài đặt Windows Scripting Host - chắc chắn bao gồm mọi thứ muộn hơn Windows 2000 và có thể bao gồm 95/98 / ME ... mặc dù tôi không có một ví dụ nào tiện để kiểm tra.
Nếu bạn cần tháo niềng răng, hãy thay thế dòng cuối cùng bằng cái này
WScript.StdOut.WriteLine Replace(Replace(obj.GUID,"{",""),"}","")
Bạn cũng có thể sử dụng lệnh này trong dấu nhắc lệnh:
wmic path win32_computersystemproduct get uuid
Từ Thư viện MSDN: Tạo UUID giao diện.
uuidgen
Library / aa373930% 28VS85% 29.aspx nói rằng tiện ích (Uuidgen.exe) được cài đặt tự động khi bạn cài đặt Bộ công cụ phát triển phần mềm nền tảng (SDK).
Để sao chép GUID mới vào bảng tạm, sử dụng lệnh này:
cmd /c powershell.exe -Command "[guid]::NewGuid().ToString()|Set-Clipboard"
Bạn có thể chạy lệnh trực tiếp từ hộp thoại Bắt đầu, Chạy (WinLogo + R), sau đó sử dụng Ctrl + V để dán GUID được tạo.
FOR /F %a IN ('POWERSHELL -COMMAND "$([guid]::NewGuid().ToString())"') DO ( SET NEWGUID=%a )
Nếu hệ điều hành hệ thống không có SDK Windows nhưng có trình biên dịch C với chuỗi công cụ mingw-w64 thì hãy biên dịch chương trình nhỏ này để tạo GUID ngẫu nhiên. Các hàm được nhập là UuidCreate (rpcrt4.lib) để tạo UUID và StringFromCLSID ngẫu nhiên (ole32.lib) để chuyển đổi UUID thành chuỗi rộng.
#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);
}