Генерация GUID в Windows с помощью командного файла - PullRequest
44 голосов
/ 30 ноября 2010

Как мне сгенерировать GUID в командном файле, запущенном с помощью командной строки в Windows?

Ответы [ 7 ]

68 голосов
/ 30 ноября 2010

Windows SDK поставляется с инструментом под названием uuidgen (если у вас Visual Studio, у вас будет Windows SDK, и вам нужно будет запустить Командную строку Visual Studio , чтобы установить правильные пути).

C:\>uuidgen

Будет выведен новый GUID, например,

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

25 голосов
/ 30 ноября 2010

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();
23 голосов
/ 31 мая 2013

Попробуйте, если у вас есть среда PowerShell.

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

Тогда готово Значение Guid от %NEWGUID%

18 голосов
/ 14 ноября 2016

легко сделать в powershell

[guid]::NewGuid()
7 голосов
/ 30 ноября 2010

Нет встроенной команды, которая делает это. Либо напишите свой, либо получите существующий.

Простая программа, которая выводит 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.

4 голосов
/ 10 апреля 2018

Это скопирует новый GUID в ваш буфер обмена:

POWERSHELL -c "[guid]::NewGuid().ToString().ToUpper()" | CLIP
4 голосов
/ 01 ноября 2013

Если вы хотите сделать это с помощью чисто команд 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
...