web-dev-qa-db-ja.com

バッチファイルを使用してWindowsでGUIDを生成

Windowsのコマンドラインを使用して実行しているバッチファイルでGUIDを生成するにはどうすればよいですか?

44
Pratik

Windows SDKには、uuidgenというツールが付属しています(Visual Studioをお持ちの場合は、Windows SDKがあります。適切なパスを設定するには、 Visual Studioコマンドプロンプト を実行する必要があります)。

C:\>uuidgen

これにより、新しいGUIDが出力されます。

cc23b318-156e-473f-aa6e-517bf091a0f0

69
Tim Robinson

1.コンテンツを含むmyuuid.vbsという名前のファイルを作成します

set obj = CreateObject("Scriptlet.TypeLib")  
WScript.StdOut.WriteLine Mid(obj.GUID, 2, 36)

2.gotoコマンドプロンプト

cscript //NoLogo myuuid.vbs

Javaコードを使用

    UUID uuid = UUID.randomUUID();
    String randomUUIDString = uuid.toString();
25
Jigar Joshi

PowerShell環境がある場合は、これを試してください。

FOR /F %a IN ('POWERSHELL -COMMAND "$([guid]::NewGuid().ToString())"') DO ( SET NEWGUID=%a )

次に、%NEWGUID%

23
user2441603

powerShellで簡単に

[guid]::NewGuid()
19
Jonas

それを行う組み込みコマンドはありません。独自に作成するか、既存のものを取得します。

GUID=をコンソールに出力する簡単なプログラムは、C#を使用して作成できます。

class Program
{
    static void Main(string[] args)
    {
        System.Console.WriteLine(System.Guid.NewGuid().ToString());
    }
}

上記のスニペットをファイル名guidgen.csに配置し、次のコマンドラインを使用してコンパイルします(システムに.NET Framework 2.0をインストールする必要があります)。

%WINDIR%\Microsoft.NET\Framework\v2.0.50727\csc.exe guidgen.cs 

これにより、guidgen.exeという名前の実行可能ファイルが作成されます。

7
Dirk Vollmar

純粋なcmdコマンドでそれをしたい場合は、そのようなものを使用できます(これは本当のGUIDではありませんが、コンテキストによっては役立ちます):

@call :GetGuid NewGuid
@echo My new GUID : %NewGuid%

@goto :eof


:GetGuid
 @set _guid=%computername%%date%%time%
 @set _guid=%_guid:/=%
 @set _guid=%_guid:.=%
 @set _guid=%_guid: =%
 @set _guid=%_guid:,=%
 @set _guid=%_guid::=%
 @set _guid=%_guid:-=%
 @set %1=%_guid%
@goto :eof
4
efdummy

これにより、新しいGUID=がクリップボードにコピーされます。

POWERSHELL -c "[guid]::NewGuid().ToString().ToUpper()" | CLIP
4

システムOSにWindows SDKがなく、mingw-w64ツールチェーンを備えたCコンパイラがある場合、この小さなプログラムをコンパイルしてランダムなGUIDを生成します。インポートされる関数は、 idCreate (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);
}
0
Biswapriyo