Comment puis-je générer un GUID dans un fichier batch exécuté en utilisant la ligne de commande dans Windows?
Le SDK Windows est livré avec un outil appelé uuidgen
(si vous avez Visual Studio, vous aurez le SDK Windows et vous devez exécuter Invite de commandes Visual Studio pour définir les chemins d'accès appropriés ).
C:\>uuidgen
Cela produira un nouveau GUID, par ex.
cc23b318-156e-473f-aa6e-517bf091a0f0
1.Créez un fichier nommé myuuid.vbs avec le contenu
set obj = CreateObject("Scriptlet.TypeLib")
WScript.StdOut.WriteLine Mid(obj.GUID, 2, 36)
2. invitez la commande
cscript //NoLogo myuuid.vbs
Utilisation de Java code
UUID uuid = UUID.randomUUID();
String randomUUIDString = uuid.toString();
Essayez ceci si vous disposez d'un environnement PowerShell.
FOR /F %a IN ('POWERSHELL -COMMAND "$([guid]::NewGuid().ToString())"') DO ( SET NEWGUID=%a )
Puis valeur Guid prête de %NEWGUID%
facile à faire en PowerShell
[guid]::NewGuid()
Aucune commande intégrée n'est disponible à cet effet. Soit écrivez le vôtre, soit achetez-en un déjà existant.
Un programme simple qui génère un GUID sur la console peut être écrit en utilisant C #:
class Program
{
static void Main(string[] args)
{
System.Console.WriteLine(System.Guid.NewGuid().ToString());
}
}
Placez l'extrait ci-dessus dans un nom de fichier guidgen.cs, puis compilez-le à l'aide de la ligne de commande suivante (.NET Framework 2.0 devrait être installé sur votre système):
%WINDIR%\Microsoft.NET\Framework\v2.0.50727\csc.exe guidgen.cs
Cela créera un exécutable nommé guidgen.exe
.
Si vous voulez le faire avec des commandes cmd pures, vous pouvez utiliser quelque chose comme ça (ce n'est pas un vrai GUID mais cela peut aider selon votre contexte):
@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
Cela copiera un nouveau GUID dans votre presse-papiers:
POWERSHELL -c "[guid]::NewGuid().ToString().ToUpper()" | CLIP
Si le système d'exploitation n'a pas de SDK Windows mais dispose d'un compilateur C avec la chaîne d'outils mingw-w64, compilez ce petit programme pour générer un GUID aléatoire. Les fonctions importées sont idCreate (rpcrt4.lib) pour créer un UUID aléatoire et StringFromCLSID (ole32.lib) pour convertir l'UUID en chaîne large.
#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);
}