回答:
これはWMIで取得できます。
wmic OS get OSArchitecture
私のシステムの例:
C:\>wmic OS get OSArchitecture
OSArchitecture
32-bit
コマンドライン:
systeminfo | findstr /I type:
出力例:
システムタイプ:X86ベースのPC
この例では、X86は32ビットシステムを示しています。
(/I
パラメータは大文字と小文字を区別しない検索を示します)
systeminfo | findstr /I typ:
エントリ全体が次のように変更する必要がありますSystemtyp: x64-based PC
systeminfo | findstr /C:"System Type"
また、同じ情報を取得しますが、長いテキストなのであまり好ましくありません。
ここでは別の投稿に回答を添付できません。systeminfo
- の結果をパイプすることは、かなりの時間をかけてコンソールに書き込みますので、コマンドファイル(バッチスクリプト-とにかくあなたはそれらをB-と呼んでいます)には最適なソリューションではありません。
でもfindstr
-他の言語バージョンのWindowsではこれを見つけられません。中央ヨーロッパ言語のwin7 osでは、... "X86ベース" ...も返されますが、その結果は「タイプ」が探していたものとは異なります。OSの他の言語のバリエーションによって異なるかどうかはわかりません。
おそらく「wmic」メソッドが最も信頼性が高い-OSに直接尋ねます。
他の考えられる迅速な解決策は、変数を調べることです(少なくともwin7で動作します)。
echo %PROCESSOR_ARCHITECTURE%
わかりました-覚えておくのはかなり長いですが、可能でset | findstr ARCH
あれば覚えることができます。
確かに、システム変数を変更できるものもありますので、wmic
。しかし、すぐに使用できます。
私は誰かを助けることができると思います。
Windowsでプロセッサアーキテクチャを確認する方法は多数あります。
少なくともWindows 2000以降でプロセッサアーキテクチャをチェックするための、最も速く、簡単で、最も互換性のある方法は、PROCESSOR_ARCHITECTURE
環境変数を調べることです。
echo %PROCESSOR_ARCHITECTURE%
ただし、コマンドプロンプトを開く方法に応じて、異なる結果が得られる場合があります。WoW64による「予期しない結果」を避けるために、レジストリから直接読み取ることができます(Microsoft はキーに2つ以上のタイプミスを作成しました)。
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE
Microsoftは、レジストリからハードウェアインフォメーションストアを読み取ることも推奨しています。
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" /v Identifier
また、Program Files
ディレクトリのx86バージョン(またはそれを指す環境変数)の存在を確認することもできます。これは、ディレクトリが64ビットシステム上にのみ存在するためです。PROCESSOR_ARCHITECTURE
変数とは異なり、これは、プロンプトの開き方に関係なく、ディレクトリが存在する(または存在しない)ため、コマンドプロンプトの実行方法に依存しません。
::via env-var
if not defined ProgramFiles(x86) echo 32-bit
::via file-system
if not exist "%systemdrive%\Program Files (x86)" echo 32-bit
これらの方法は、単一のバッチファイル(例:)で組み合わせることができ、cpuinfo.bat
他のプログラムやフレームワークを実行する必要なく、標準のWindows NTコマンドプロンプトからシステムを非常に高速にチェックできます。
以下のバッチファイルは32ビットおよびIntel 64ビットシステムでテストされ(AMD64でテストしてください)、1秒未満で正しい結果が得られます。
@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.
Windows OSを参照している場合、WMIでvbscriptを使用できます
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
[スタート]»[実行]に移動し、「」と入力しcmd
ます。これで、コマンドプロンプトが表示されます。そこでsysteminfo
入力してEnter キーを 押します。すべてのシステム情報を取得するには数秒かかります。プロセッサのデータも見つけることができます。
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
more
。