Windows XPのコマンドラインからUUIDを生成するにはどうすればよいですか? Linuxの「uuid」または「uuidgen」のようなもの。
Powershellがインストールされている場合、これはGUIDを取得するための単純なコマンドラインです
powershell -Command "[guid]::NewGuid().ToString()"
次のコードを新しいファイル名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,"{",""),"}","")
このコマンドは、コマンドプロンプトでも使用できます。wmic path win32_computersystemproduct get uuid
新しいGUID=をクリップボードにコピーするには、次のコマンドを使用します。
cmd /c powershell.exe -Command "[guid]::NewGuid().ToString()|Set-Clipboard"
[スタート]、[ファイル名を指定して実行]ダイアログ(WinLogo + R)から直接コマンドを実行し、Ctrl + Vを使用して生成されたGUIDを貼り付けることができます。生成されたGUIDは、[ファイル名を指定して実行]ダイアログの履歴にも保存されます。そこで提案として...
MSDNライブラリから: Generating Interface UUIDs。
FOR /F %a IN ('POWERSHELL -COMMAND "$([guid]::NewGuid().ToString())"') DO ( SET NEWGUID=%a )
システムOSにWindows SDKがなくても、mingw-w64ツールチェーンを備えたCコンパイラがある場合は、この小さなプログラムをコンパイルしてランダムなGUIDを生成します。インポートされた関数は、ランダムUUIDを作成する idCreate (rpcrt4.lib)と、UUIDをワイド文字列に変換する StringFromCLSID (ole32.lib)です。
#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);
}