2010-01-15 05:28:57 +0000 2010-01-15 05:28:57 +0000
26
26

Wie kann ich über die Befehlszeile feststellen, ob die aktuelle Version von Windows 32-Bit oder 64-Bit ist?

Wie lautet die Befehlszeile, um herauszufinden, ob auf dem Betriebssystem eine 32-Bit-Version oder eine 64-Bit-Version von Windows läuft?

Antworten (9)

34
34
34
2010-01-15 05:38:37 +0000

Sie können dies über WMI erhalten:

wmic OS get OSArchitecture

Beispiel auf meinem System:

C:\>wmic OS get OSArchitecture
OSArchitecture
32-bit
13
13
13
2011-10-20 15:43:09 +0000

Ich kann die Antwort nicht an einen anderen Beitrag anhängen, also hier. Das Piping des Ergebnisses von systeminfo - nimmt ziemlich viel Zeit in Anspruch und schreibt in die Konsole, ist also nicht die beste Lösung für Befehlsdateien (Batch-Skripte - wie auch immer Sie sie nennen wollen B-) ).

Auch mit dem findstr - wird dies auf anderen Sprachversionen von Windows nicht gefunden. Auf einem mitteleuropäischen Sprach-Win7-Betriebssystem gibt es auch … “X86-based”… als Ergebnis zurück, aber etwas anderes als den “Typ”, nach dem gesucht wurde. Ich bin mir nicht sicher, ob es auf anderen Sprachvarianten des Betriebssystems variieren kann.

Wahrscheinlich ist die “wmic”-Methode die zuverlässigste - sie fragt das Betriebssystem direkt ab.

Eine andere mögliche schnelle Lösung kann sein, eine Variable zu untersuchen (funktioniert bei mir zumindest auf win7).

echo %PROCESSOR_ARCHITECTURE%

Ok - es ist ziemlich lang zu merken, aber möglicherweise kann man sich ein set | findstr ARCH merken.

Sicher - einige können eine Systemvariable ändern, also nicht so zuverlässig wie wmic. Kann aber schnell verwendet werden.

Ich hoffe, ich konnte jemandem weiterhelfen.

12
12
12
2012-06-24 15:23:24 +0000

Es gibt zahlreiche Möglichkeiten, die Prozessorarchitektur unter Windows zu überprüfen:

  • Der schnellste, einfachste und kompatibelste Weg, die Prozessorarchitektur in mindestens Windows 2000 und höher zu überprüfen, ist die Untersuchung der PROCESSOR_ARCHITECTURE Umgebungsvariable :

  • Dies kann jedoch unterschiedliche Ergebnisse liefern, je nachdem, wie die Eingabeaufforderung geöffnet wird. Um zu vermeiden, dass Sie “unerwartete Ergebnisse” aufgrund von WoW64 erhalten, können Sie es direkt aus der Registry lesen (Microsoft hat nicht weniger als zwei Tippfehler im Schlüssel gemacht):

  • Microsoft schlägt auch vor, den Hardware-Informationsspeicher aus der Registry zu lesen:

  • Sie können auch überprüfen, ob die x86-Version des Program Files-Verzeichnisses (oder die Umgebungsvariable , die darauf verweist) vorhanden ist, da sie nur auf einem 64-Bit-System existiert. Im Gegensatz zur Variable PROCESSOR_ARCHITECTURE ist dies nicht von der Art und Weise abhängig, wie die Eingabeaufforderung ausgeführt wird, da das Verzeichnis unabhängig davon, wie die Eingabeaufforderung geöffnet wird, existiert (oder nicht):

Diese Methoden können in einer einzigen Batch-Datei (z. B. cpuinfo.bat) kombiniert werden und bieten eine schöne, blitzschnelle Möglichkeit, das System von einer Standard-Windows-NT-Eingabeaufforderung aus zu überprüfen, ohne auf die Ausführung anderer Programme oder Frameworks zurückgreifen zu müssen.

Die folgende Batch-Datei wurde auf 32-Bit- und Intel 64-Bit-Systemen getestet (bitte auf AMD64 testen) und liefert korrekte Ergebnisse in <1 Sekunde:

@echo off

echo PROCESSOR_ARCHITECTURE var:
echo %PROCESSOR_ARCHITECTURE% | find /i "x86" > nul
if %errorlevel%==0 (
    echo 32-bit
) else (
    echo 64-bit
)
echo.

echo PROCESSOR_ARCHITECTURE reg:
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE | find /i "x86" > nul
if %errorlevel%==0 (
    echo 32-bit
) else (
    echo 64-bit
)
echo.

echo CentralProcessor reg:
reg query "HKLM\Hardware\Description\System\CentralProcessor![Test results](https://i.stack.imgur.com/4mmyH.png)" | find /i "x86" > nul
if %errorlevel%==0 (
    echo 32-bit
) else (
    echo 64-bit
)
echo.

echo ProgramFiles(x86) var:
if not defined ProgramFiles(x86) (
    echo 32-bit
) else (
    echo 64-bit
)
echo.

echo ProgramFiles(x86) dir:
if not exist "%systemdrive%\Program Files (x86)" (
    echo 32-bit
) else (
    echo 64-bit
)
echo.

0x1&

6
6
6
2012-06-24 14:16:19 +0000

Ich konnte die Eigenschaft OSArchitecture nicht finden (wie in der Antwort von phoebus), daher würde ich stattdessen die Verwendung der Eigenschaft SystemType in ComputerSystem vorschlagen.

Das Ausführen des Befehls wmic computersystem get systemtype in einer Eingabeaufforderung ergibt

C:\Windows\system32>wmic computersystem get systemtype  

SystemType x64-based PC
4
4
4
2010-01-15 05:42:49 +0000

Normale Kommandozeile: wmic OS get OSArchitecture (IIRC)

PowerShell: (gwmi win32_computersystem).SystemType

1
1
1
2010-01-15 06:35:11 +0000

Sie finden diese Informationen unter “Systeminformationen”

Start-> Ausführen -> winmsd.exe

Unter “Systemzusammenfassung”/ Systemtyp finden Sie die OS-Version

X64 -> 64 Bit X86 -> 32 Bit

JohnTs Antwort in GUI ;)

1
1
1
2010-01-15 05:38:45 +0000

wenn Sie sich auf Windows OS beziehen, können Sie vbscript mit WMI

strComputer = "."    
Set objWMIService = GetObject("winmgmts{impersonationLevel=impersonate,authenticationLevel=Pkt}!\" & strComputer & "\root\cimv2")    
Set colSettings = objWMIService.ExecQuery("SELECT * FROM Win32_Processor")

For Each objProcessor In colSettings
Wscript.Echo "System Type: " & objProcessor.Architecture
Wscript.Echo "Processor: " & objProcessor.Description
Wscript.Echo "Address Width: "& objProcessor.AddressWidth
Next
``` verwenden
1
1
1
2012-03-28 07:21:13 +0000

Gehen Sie auf Start “ Ausführen und geben Sie dann cmd ein. Sie befinden sich nun in der Eingabeaufforderung. Dort können Sie systeminfo eintippen und dann die Eingabetaste drücken. Es dauert ein paar Sekunden, bis Sie alle Ihre Systeminformationen erhalten. Sie können auch die Prozessordaten finden.

Processor(s): 1 Processor(s) Installed.
                           [01]: x86 Family 15 Model 4 Stepping 10 GenuineIntel
  • x86 Familie bedeutet, Ihr Prozessor ist 32-bit.
  • x64 Familie bedeutet, Ihr Prozessor ist 64-Bit.

C:\Dokumente und Einstellungen\mr85464>systeminfo

OS Name: Microsoft Windows XP Professional
OS Version: 5.1.2600 Service Pack 3 Build 2600
OS Manufacturer: Microsoft Corporation
OS Configuration: Member Workstation
OS Build Type: Multiprocessor Free
Product ID: 76487-640-3658033-23932
Original Install Date: 3/16/2012, 2:03:44 PM
System Up Time: 5 Days, 21 Hours, 35 Minutes, 51 Seconds
System Manufacturer: Dell Inc.
System Model: OptiPlex 210L
System type: X86-based PC
Processor(s): 1 Processor(s) Installed.
                           [01]: x86 Family 15 Model 4 Stepping 10 GenuineIntel
~2992 Mhz
0
0
0
2013-06-25 16:19:58 +0000

Ich habe einen einfachen Code verwendet:

:arch
set p | findstr /i AMD64 > nul
if not errorlevel 1 goto no64
goto eof
:no64
code to execute
:eof