使用批处理文件在Windows中生成GUID

Pra*_*tik 46 command-line cmd guid batch-file

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

Tim*_*son 74

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

C:\>uuidgen
Run Code Online (Sandbox Code Playgroud)

这将输出新的GUID,例如

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


Jig*_*shi 25

1.使用内容创建名为myuuid.vbs的文件

set obj = CreateObject("Scriptlet.TypeLib")  
WScript.StdOut.WriteLine Mid(obj.GUID, 2, 36)
Run Code Online (Sandbox Code Playgroud)

2.goto命令提示符

cscript //NoLogo myuuid.vbs

使用JAVA代码

    UUID uuid = UUID.randomUUID();
    String randomUUIDString = uuid.toString();
Run Code Online (Sandbox Code Playgroud)


小智 23

如果您有PowerShell环境,请尝试此操作.

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

然后准备好Guid值 %NEWGUID%

  • 如果要编写一个批处理文件(`.bat`),不要忘记将`FOR`语句中的`%`加倍(因此该行应该为`FOR/F %% a IN('POWERSHELL -COMMAND"$( [guid] :: NewGuid().ToString())"')DO(SET NEWGUID = %% a)`) (2认同)
  • 自Vista以来,所有Windows版本都提供@Soundararajan powershell和.NET (2认同)

小智 19

在PowerShell中很容易做到

[guid]::NewGuid()
Run Code Online (Sandbox Code Playgroud)

  • 现在更容易了:[`New-Guid`](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/new-guid) (6认同)

Dir*_*mar 7

没有可用的内置命令.写自己的,或者获得现有的.

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

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

将上面的代码段放在文件名guidgen.cs中,然后使用以下命令行编译它(必须在您的系统上安装.NET Framework 2.0):

%WINDIR%\Microsoft.NET\Framework\v2.0.50727\csc.exe guidgen.cs 
Run Code Online (Sandbox Code Playgroud)

这将创建一个名为可执行guidgen.exe.


Mic*_*ter 6

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

POWERSHELL -c "[guid]::NewGuid().ToString().ToUpper()" | CLIP
Run Code Online (Sandbox Code Playgroud)


efd*_*mmy 5

如果您想使用纯 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
Run Code Online (Sandbox Code Playgroud)