kuailetiande 发表于 2013-3-28 13:53:41

如何在PE底下判断C盘的系统版本?

如何在PE底下判断C盘的系统版本,并按系统版本而执行命令?

juneqin2011 发表于 2013-3-28 15:04:23

我也正需求次判断,最简单检测ntldr与bootmgr 但是还有32位和64位区别,再判断wom64文件夹?

juneqin2011 发表于 2013-3-28 15:22:45

刚在注册表搜索了一下‘windows xp’结果搜到这么一个注册表项应该可以用于判断系统类型:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion项目下的

ProductName的值

xp的为MICSOFT WINDOWSXP

kuailetiande 发表于 2013-3-28 15:32:35

回复 3# juneqin2011


    但是在PE底下又要用何调用注册表哟

juneqin2011 发表于 2013-3-28 15:56:58

REG.EXE LOAD HKLM\SOFTWARE_XX:\WINDOWS\SYSTEM32\CONFIG\SOFTWARE

kuailetiande 发表于 2013-3-28 16:17:44

{:face (460):}回复 5# juneqin2011


    能不能写个AU3出来

mbdnmt 发表于 2013-3-29 01:17:14

@OSVersion不行吗?

kuailetiande 发表于 2013-3-29 10:26:22

回复 7# mbdnmt


@OSVersion只能查询到正在运行的系统的版本吧

veket_linux 发表于 2013-3-29 10:27:48

去比一比系统目录里哪些东西不一样..........winxp x86下测试 可能不准......

$vercode = ""
$sysver = ""
If (Not FileExists("C:\WINDOWS\syswow64"))And FileExists("C:\WINDOWS\system32\kernel32.dll") Then
        $vercode = FileGetVersion("C:\WINDOWS\system32\kernel32.dll","FileVersion")
Else
        $vercode = FileGetVersion("C:\WINDOWS\syswow64\Wow64.dll","FileVersion")
EndIf       
$sysver = StringLeft($vercode, 3)
Switch $sysver
        Case "5.0"
                $sysver = "Win 2000"
        Case "5.1"
                $sysver = "Win XP"
        Case "5.2"
                $sysver = "Win 2003 server"
        Case "6.0"
                $sysver = "Vista"
        Case "6.1"
                $sysver = "Win7"
EndSwitch
If FileExists("C:\WINDOWS\syswow64") Then
        $sysver &= " --- x64"
Else
        $sysver &= " --- x86"
EndIf
MsgBox(0, "C盘系统为", $sysver)
页: [1]
查看完整版本: 如何在PE底下判断C盘的系统版本?