Comment puis-je générer un UUID à partir de la ligne de commande dans Windows XP?

16

Comment puis-je générer un UUID à partir de la ligne de commande dans Windows XP? Quelque chose comme "uuid" ou "uuidgen" sous Linux.

Yazz.com
la source
duplication
intersite

Réponses:

12

Si powershell est installé, il s'agit d'une simple ligne de commande pour obtenir un guid

powershell -Command "[guid]::NewGuid().ToString()"
Air2
la source
Vous pouvez en faire une commande réutilisable dans PowerShell avec. function uuid {[guid] :: NewGuid (). ToString ()}. Exécutez simplement "uuid" au besoin.
Alain O'Dea
J'ai mis cette ligne dans guid.bat dans un dossier PATH pour qu'elle fonctionne dans l'invite de commande régulière et PowerShell.
biscuit314
7

Déposez le code suivant dans un nouveau nom de fichier uuid.vbs

set obj = CreateObject("Scriptlet.TypeLib")
WScript.StdOut.WriteLine obj.GUID

Ensuite, vous pouvez l'exécuter à partir de la ligne de commande comme suit:

cscript //NoLogo uuid.vbs

Cela fonctionnera sur à peu près n'importe quel ordinateur sur lequel l'hôte de script Windows est installé - qui inclut certainement tout ce qui est postérieur à Windows 2000, et comprend probablement 95/98 / ME également ... bien que je n'ai pas d'instance à vérifier.

Si vous devez retirer les accolades, remplacez la dernière ligne par ce

WScript.StdOut.WriteLine Replace(Replace(obj.GUID,"{",""),"}","")
Goyuix
la source
4
C'est drôle comme dans Windows, il est unique à chaque planète, mais dans Unix et les systèmes associés, il est unique dans tout l'univers.
Bratch
2

Vous pouvez également utiliser cette commande dans une invite de commande:
wmic path win32_computersystemproduct get uuid

tester
la source
semble que ce n'est bon que pour 1 guid
drzaus
4
Cela ne génère PAS de GUID. Il montre simplement un guide existant. N'UTILISEZ PAS ceci si vous voulez un GUID unique
Air2
2
XKCD pertinent: xkcd.com/221
TripShock
2

Pour copier un nouveau GUID dans le presse-papiers, utilisez cette commande:

cmd /c powershell.exe -Command "[guid]::NewGuid().ToString()|Set-Clipboard"

Vous pouvez exécuter la commande directement à partir de la boîte de dialogue Démarrer, exécuter (WinLogo + R), puis utiliser Ctrl + V pour coller le GUID généré, qui le sauvegardera également dans votre historique de boîte de dialogue Exécuter - c'est-à-dire si vous l'utilisez souvent, il apparaîtra - comme suggestion là-bas ...

Yordan Georgiev
la source
1

À partir de la bibliothèque MSDN: génération d'UUID d'interface.

Mehper C. Palavuzlar
la source
Savez-vous où je peux télécharger ce "uuidgen"?
Yazz.com
Il est livré avec Visual Studio - je m'attends à ce qu'il vienne avec l'édition express de Visual C ++ qui, je crois, est également téléchargeable gratuitement
Rowland Shaw
1
msdn.microsoft.com/en-us/library/aa373930%28VS.85%29.aspx indique que l' uuidgenutilitaire (Uuidgen.exe) est automatiquement installé lorsque vous installez le Kit de développement logiciel de plateforme (SDK).
Mehper C. Palavuzlar
N'est-il pas disponible en téléchargement séparé, car je n'ai aucune utilité pour le SDK ou pour Visual Studio.
Yazz.com
1
@Zubair: installez le SDK, obtenez uuidgen, désinstallez le SDK. Tout le reste est une violation des droits d'auteur.
harrymc
0
  FOR /F %a IN ('POWERSHELL -COMMAND "$([guid]::NewGuid().ToString())"') DO ( SET NEWGUID=%a )
Bharat Bhamare
la source
0

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 UuidCreate (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);
}
Biswapriyo
la source