Diese Frage hat hier bereits eine Antwort:
Wie lautet die Befehlszeile, um herauszufinden, ob auf dem Betriebssystem eine 32-Bit-Version oder eine 64-Bit-Version von Windows ausgeführt wird?
Diese Frage hat hier bereits eine Antwort:
Wie lautet die Befehlszeile, um herauszufinden, ob auf dem Betriebssystem eine 32-Bit-Version oder eine 64-Bit-Version von Windows ausgeführt wird?
Antworten:
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 zeigt in diesem Beispiel ein 32-Bit-System an.
( /I
Parameter gibt an, dass bei der Suche die Groß- / Kleinschreibung nicht berücksichtigt wird. )
systeminfo | findstr /I typ:
da der gesamte EintragSystemtyp: x64-based PC
systeminfo | findstr /C:"System Type"
ruft auch die gleichen Informationen ab, aber ich denke, längerer Text ist weniger bevorzugt.
Ich kann also hier keine Antwort auf einen anderen Beitrag anhängen. Das Piping des Ergebnisses von systeminfo
- nimmt ziemlich viel Zeit in Anspruch und schreibt auf die Konsole, ist also nicht die beste Lösung für Befehlsdateien (Batch-Skripte - wie auch immer Sie sie B- nennen möchten).
Auch mit dem findstr
- findet man dies auf anderen Windows-Sprachversionen nicht. Auf einer mitteleuropäischen Sprache win7 os gibt es auch ... "X86-based" ... über das Ergebnis aus, aber etwas anderes, als der "Typ" suchte. Ich bin nicht sicher, ob es bei anderen Sprachvarianten des Betriebssystems zu Abweichungen kommen kann.
Wahrscheinlich ist die "wmic" -Methode die zuverlässigste - sie fragt das Betriebssystem direkt.
Eine andere mögliche schnelle Lösung kann darin bestehen, eine Variable zu untersuchen (zumindest auf win7 bei mir).
echo %PROCESSOR_ARCHITECTURE%
Ok - es ist ziemlich lang, sich zu erinnern, aber es ist möglich, dass set | findstr ARCH
man sich daran erinnert.
Klar - manche können eine Systemvariable so nicht so zuverlässig modifizieren wie 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 kompatibelste Möglichkeit, die Prozessorarchitektur in mindestens Windows 2000 und höher zu überprüfen, besteht darin, die PROCESSOR_ARCHITECTURE
Umgebungsvariable zu untersuchen :
echo %PROCESSOR_ARCHITECTURE%
Dies kann jedoch zu unterschiedlichen Ergebnissen führen, je nachdem, wie die Eingabeaufforderung geöffnet wird. Um zu vermeiden, dass aufgrund von WoW64 „unerwartete Ergebnisse“ erzielt werden , können Sie diese direkt aus der Registrierung lesen (Microsoft hat nicht weniger als zwei Tippfehler 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 darauf verweisenden Umgebungsvariablen ) vorhanden ist, da sie nur auf einem 64-Bit-System vorhanden wäre. Im Gegensatz zur PROCESSOR_ARCHITECTURE
Variablen hängt dies nicht davon ab, 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 Batch-Datei kombiniert werden (z. B. cpuinfo.bat
) und bieten eine schöne, blitzschnelle Möglichkeit, das System über eine Windows NT-Standard-Eingabeaufforderung zu überprüfen, ohne dass andere Programme oder Frameworks ausgeführt werden müssen.
Die folgende Batch-Datei wurde auf 32-Bit- und Intel 64-Bit-Systemen getestet (bitte auf AMD64 testen) und ergab in <1 Sekunde korrekte Ergebnisse:
@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
Immobilie nicht finden (laut der Antwort von phoebus), daher würde ich vorschlagen, die SystemType
Immobilie ComputerSystem
stattdessen in zu verwenden.
Ausführen des Befehls wmic computersystem get systemtype
an einer Eingabeaufforderung gibt
C:\Windows\system32>wmic computersystem get systemtype
SystemType x64-based PC
Wenn Sie sich auf Windows beziehen, können Sie vbscript mit WMI verwenden
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
Gehen Sie zu Start »Ausführen und geben Sie dann Folgendes ein cmd
. Jetzt werden Sie in der Eingabeaufforderung sein. Dort können Sie systeminfo
eingeben und dann die Eingabetaste drücken. Es dauert einige Sekunden, um alle Systeminformationen abzurufen. Sie können die Prozessordaten auch finden.
Processor(s): 1 Processor(s) Installed.
[01]: x86 Family 15 Model 4 Stepping 10 GenuineIntel
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
more
.