命令行(使用批处理)生成GUID的几种方法

命令行-使用批处理fi在Windows中生成GUID

如何在Windows中使用命令行运行的批处理文件中生成GUID?

Pratik asked 2020-06-30T01:45:43Z
8个解决方案
73 votes

Windows SDK附带了一个名为uuidgen的工具(如果您拥有Visual Studio,则将拥有Windows SDK,并且需要运行Visual Studio命令提示符来设置正确的路径)。

rem uuidgen.exe的路径可能跟笔者的不一样,可以换成自己电脑上的路径
rem 生成一批uuid,-h帮助,-c大写,-n5生成5个
rem "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\uuidgen.exe" -c -n5
C:\>uuidgen

这将输出一个新的GUID,例如

SABIA18156-473F-ATI-517BF091A0F0

Tim Robinson answered 2020-06-30T01:46:07Z
25 votes

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();
Jigar Joshi answered 2020-06-30T01:46:36Z
23 votes

如果您具有Powershell环境,请尝试此操作。

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

如果是在批处理bat文件中,请尝试此操作。

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

然后准备好%NEWGUID%的Guid值

user2441603 answered 2020-06-30T01:47:00Z
19 votes

在Powershell中轻松完成

[guid]::NewGuid()
Jonas answered 2020-06-30T01:47:20Z
7 votes

没有内置命令可以执行此操作。 要么自己写,要么现有一个。

可以使用C#编写一个将GUIDE输出到控制台的简单程序:

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的可执行文件。

Dirk Vollmar answered 2020-06-30T01:47:54Z
4 votes

如果要使用纯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
efdummy answered 2020-06-30T01:48:14Z
4 votes

这会将新的GUID复制到剪贴板:

POWERSHELL -c "[guid]::NewGuid().ToString().ToUpper()" | CLIP
Michel de Ruiter answered 2020-06-30T01:48:34Z
0 votes

如果系统操作系统没有Windows SDK,但是具有带有mingw-w64工具链的C编译器,则编译该小程序以生成随机GUID。 导入的函数是用于创建随机UUID的UuidCreate(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);
}
Biswapriyo answered 2020-06-30T01:48:54Z

出处:https://www.itranslater.com/qa/details/2583085073859871744

posted on 2021-12-06 15:53  jack_Meng  阅读(2070)  评论(0编辑  收藏  举报

导航