Sie können dies über WMI erhalten:
wmic OS get OSArchitecture
Beispiel auf meinem System:
C:\>wmic OS get OSArchitecture OSArchitecture 32-bit
Wie lautet die Befehlszeile, um herauszufinden, ob auf dem Betriebssystem eine 32-Bit-Version oder eine 64-Bit-Version von Windows ausgeführt wird?
Sie können dies über WMI erhalten:
wmic OS get OSArchitecture
Beispiel auf meinem System:
C:\>wmic OS get OSArchitecture OSArchitecture 32-bit
Befehlszeile:
systeminfo | findstr /I type:
Beispielausgabe:
Systemtyp: X86-basierter PC
X86 gibt in diesem Beispiel ein 32-Bit-System an.
( /I
Parameter zeigt Groß- und Kleinschreibung an )
Ich kann hier also keine Antwort zu einem anderen Beitrag beifügen. Das Pipe-Ergebnis von systeminfo
- nimmt eine recht gute Zeit in Anspruch und schreibt in die Konsole. Daher ist es nicht die beste Lösung für Befehlsdateien (Batch-Skripts - Sie nennen sie trotzdem B-)).
Selbst mit dem findstr
- findet es nicht in anderen Sprachversionen von Windows. Auf einer mitteleuropäischen Sprache win7 os gibt es auch ... "X86-based" ... auf das Ergebnis aber etwas anderes auf der Suche nach "Typ". Ich bin mir nicht sicher, dass es bei anderen Sprachvarianten des Betriebssystems variieren kann.
Wahrscheinlich ist die "wmic" -Methode die zuverlässigste - sie fragt das Betriebssystem direkt.
Eine andere schnelle Lösung besteht darin, eine Variable zu untersuchen (zumindest arbeite ich an win7).
echo %PROCESSOR_ARCHITECTURE%
Ok - es ist ziemlich lange zu merken, aber man set | findstr ARCH
kann sich daran erinnern.
Sicher - einige können eine Systemvariable nicht so zuverlässig ändern wmic
. Kann aber schnell verwendet werden.
Ich hoffe ich konnte jemandem helfen.
Es gibt zahlreiche Möglichkeiten, die Prozessorarchitektur unter Windows zu überprüfen:
Die schnellste, einfachste und am besten kompatible Methode zum Überprüfen der Prozessorarchitektur in mindestens Windows 2000 und höher ist die Überprüfung der PROCESSOR_ARCHITECTURE
Umgebungsvariablen :
echo %PROCESSOR_ARCHITECTURE%
Dies kann jedoch zu unterschiedlichen Ergebnissen führen, abhängig davon, wie die Eingabeaufforderung geöffnet wird. Um "unerwartete Ergebnisse" durch WoW64 zu vermeiden, können Sie es direkt aus der Registrierung lesen (Microsoft hat nicht weniger als zwei Rechtschreibfehler im Schlüssel gemacht ):
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE
Microsoft empfiehlt außerdem, den Hardware-Informationsspeicher aus der Registrierung zu lesen:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" /v Identifier
Sie können auch prüfen, ob die x86-Version des Program Files
Verzeichnisses (oder der Umgebungsvariablen, die darauf verweist) vorhanden ist, da diese nur auf einem 64-Bit-System vorhanden wäre. Im Gegensatz zu der PROCESSOR_ARCHITECTURE
Variablen ist dies nicht davon abhängig, wie die Eingabeaufforderung ausgeführt wird, da das Verzeichnis vorhanden ist (oder nicht), unabhängig davon, wie die Eingabeaufforderung geöffnet wird:
::via env-var
if not defined ProgramFiles(x86) echo 32-bit
::via file-system
if not exist "%systemdrive%\Program Files (x86)" echo 32-bit
Diese Methoden können in einer einzigen Batchdatei (z. B. cpuinfo.bat
) kombiniert werden und bieten eine einfache und blitzschnelle Möglichkeit, das System über eine standardmäßige Windows NT-Eingabeaufforderung zu überprüfen, ohne auf andere Programme oder Frameworks zurückgreifen zu müssen.
Die untenstehende Batchdatei wurde auf 32-Bit- und Intel 64-Bit-Systemen getestet (bitte testen Sie sie mit AMD64). Die Ergebnisse sind in <1 Sekunde korrekt:
@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\0" | 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.
Ich konnte die OSArchitecture
Eigenschaft nicht finden (wie in der Antwort des Phoebus), also würde ich vorschlagen, die SystemType
Eigenschaft ComputerSystem
stattdessen zu verwenden.
Das Ausführen des Befehls wmic computersystem get systemtype
an einer Eingabeaufforderung gibt
C:\Windows\system32>wmic computersystem get systemtype SystemType x64-based PC
Reguläre Befehlszeile: wmic OS get OSArchitecture
(IIRC)
Power Shell: (gwmi win32_computersystem).SystemType
Wenn Sie sich auf Windows OS beziehen, können Sie vbscript mit WMI verwenden
strComputer = "." Set objWMIService = GetObject("winmgmts!\\" & 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
Sie finden diese Informationen über "Systeminformationen".
Start-> Ausführen -> winmsd.exe
Unter "Systemübersicht" / Systemtyp finden Sie die Betriebssystemversion
X64 -> 64 Bit
X86 -> 32 Bit
Antwort von JohnT in GUI;)
Go to Start » Run and then type cmd
. Now you will be in command prompt. There you can type systeminfo
and then press enter. It takes a few seconds to get all your system information. You can find the processor data too.
Processor(s): 1 Processor(s) Installed. [01]: x86 Family 15 Model 4 Stepping 10 GenuineIntel
C:\Documents and Settings\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
Einfacher Code, den ich verwendet habe:
:arch set p | findstr /i AMD64 > nul if not errorlevel 1 goto no64 goto eof :no64 code to execute :eof