使用批处理文件在 Windows 中生成 GUID
如何在 Windows 中使用命令行运行的批处理文件中生成 GUID?
How can I generate a GUID in a batch file running using the commandline in Windows?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
Windows SDK 附带了一个名为
uuidgen
的工具(如果您有 Visual Studio,则您将拥有 Windows SDK,并且需要运行 Visual Studio 命令提示符 设置正确的路径)。这将输出一个新的 GUID,例如
The Windows SDK comes with a tool called
uuidgen
(if you have Visual Studio, you'll have the Windows SDK, and you need to run the Visual Studio Command Prompt to set proper paths).This will output a new GUID, e.g.
如果您有 powershell 环境,请尝试此操作。
然后准备来自
%NEWGUID%
的 Guid 值Try this if you have powershell environment.
Then ready Guid value from
%NEWGUID%
在 powershell 中很容易做到
easy to do in powershell
1.创建一个名为 myuuid.vbs 的文件,其内容为
2.goto 命令提示符
cscript //NoLogo myuuid.vbs
使用 JAVA 代码
1.Create a file named myuuid.vbs with the content
2.goto command prompt
cscript //NoLogo myuuid.vbs
Using JAVA code
这会将新的 GUID 复制到剪贴板:
最新版本具有如下所示的 cmdlet:
This will copy a new GUID to your clipboard:
Recent versions have cmdlets like this:
没有可用的内置命令可以执行此操作。要么自己编写,要么获取现有的。
可以使用 C# 编写将 GUID 输出到控制台的简单程序:
将上面的代码片段放在文件名 guidgen.cs 中,然后使用以下命令行进行编译(系统上必须安装 .NET Framework 2.0) :
这将创建一个名为
guidgen.exe
的可执行文件。There is no built-in command available that does that. Either write your own, or get an existing one.
A simple program that outputs a GUID to the console could be written using C#:
Place the above snippet in a file name guidgen.cs and then compile it using the following command line (.NET Framework 2.0 would have to be installed on your system):
This will create an executable named
guidgen.exe
.如果您想使用纯 cmd 命令来执行此操作,您可以使用类似的东西(这不是真正的 GUID,但它可以根据您的上下文提供帮助):
If you want to do it with pure cmd commands, you can use something like that (this is not a true GUID but it can help depending on your context) :
尝试使用 uuid.bat
如果没有参数,它只会回显生成的
uuid
:如果传递参数,它将存储在具有相同名称的变量中:
对于 Windows 格式的 GUID,您可以使用 guid.bat:
try with uuid.bat
Without arguments it will just echo the generated
uuid
:If argument is passed it will be stored in a variable with the same name:
For windows formatted GUIDs you can use guid.bat:
如果您安装了
dotnet
:If you have
dotnet
installed:人们可以滥用
bitsadmin
来生成 GUID。这将比从批处理脚本调用 PowerShell 快得多。如果您想保留周围的大括号,请删除
"delims={}"
并将{%GUID%}
替换为%GUID%
。One could abuse
bitsadmin
to generate a GUID. This will be profoundly faster than calling PowerShell from a Batch script.If you want to keep the surrounding braces, remove
"delims={}"
and replace{%GUID%}
with%GUID%
.如果系统操作系统没有 Windows SDK,但有带有 mingw-w64 工具链的 C 编译器,则编译这个小程序以生成随机 GUID。导入的函数是 UuidCreate (rpcrt4 .lib) 创建随机 UUID 和 StringFromCLSID< /a> (ole32.lib) 将 UUID 转换为宽字符串。
If the system OS does not have Windows SDK but does have a C compiler with mingw-w64 toolchain then compile this small program to generate random GUID. Imported functions are UuidCreate (rpcrt4.lib) to create random UUID and StringFromCLSID (ole32.lib) to convert UUID to wide string.