2010-05-07 107 views
1

我想在XML文件中区分Windows XP和Windows 7。以为我会在XML中使用它的环境变量。确定操作系统类型的环境变量(Windows XP,Windows 7)

但是我找不到在窗口中定义的任何系统环境变量来提供此信息。

我看到%OSTYPE%变量,但它仅在Windows 7中可用。它未在XP中定义。

有反正我可以做到这一点吗?

请注意,我想要一个纯粹依赖于系统环境变量的解决方案。我不想基于执行某些命令来创建新变量,因为我想在XML文件中使用此变量。

+0

可能欺骗 - http://stackoverflow.com/questions/57124/how-to-detect-true- windows-version – ChrisF 2010-05-07 13:09:12

+0

@ChrisF,这个问题实际上是通过任何可用的方法(主要是通过API)来检测Windows版本。不一定是系统环境变量。 – Santhosh 2010-05-07 13:12:15

+0

这就是为什么我只是评论,而不是投票结束。做任何答案都有帮助吗? – ChrisF 2010-05-07 13:13:51

回答

0

没有确切预设环境变量,但...

This article是微软,它指的是一个叫gettype.exe程序,我不知道这是否是一个内置与否。我不在Windows上测试。无论如何,也许它可以帮助你。

还有ver看起来内置 - here's an example script使用。

+0

这些示例使用运行实用程序命令或程序来确定操作系统的类型。我想知道是否可以通过使用环境变量? – Santhosh 2010-05-07 13:27:09

+0

AFAIK,nope .....如果'ver'是内置的,那么就和env var一样好。 – zaf 2010-05-07 13:35:21

6

附近,我可以告诉XP中的环境变量是“操作系统”。

操作系统:列出操作系统的名称。 (Windows XP和Windows 2000列表中的操作系统Windows_NT。)

参见: http://www.techrepublic.com/article/understanding-windows-xps-environment-variables/5986211

+3

至少在以下系统中,“OS”环境变量的值为“Windows_NT”:Windows XP,Windows 2000和Windows 7.我不知道其他Windows版本,但它似乎与好。也许别人可以证实。 – edam 2013-01-04 16:41:27

+1

“OS”在Windows 10和服务器操作系统上也是“Windows_NT”。所以这不是非常有用,除非你在Windows98或更早的版本。 – UweBaemayr 2016-09-06 20:46:27

相关问题