コマンドを使用して、Windowsが32ビットか64ビットかをどのように判断しますか?[複製]


79

考えられる重複:
コンピューターに64ビットCPUまたはOSがあるかどうかを確認する方法
CLI OSバージョンで32/64ビットのWindows Serverバージョンを検出する
:32ビットまたは64ビット?

コマンドラインからWindowsシステムが32ビットか64ビットかを確認するにはどうすればよいですか?

ハードウェアではなく、オペレーティングシステムのビット数を知りたい。

この質問は厳密にコマンドラインにのみ適用されます。GUIソリューションは必要ありません。


1
うーん、これsysteminfoがリストにないのは悲しいです。
タマラWijsman

@MaQleod-あなたの答えが両方に合っているという理由だけで、この質問はより具体的なシナリオであるため、質問は正確な重複ではないと個人的に主張します。追加のユーティリティが必要なため、あなたの回答が「コマンドラインのみ」に適合するかどうかはわかりませんが、それが私なら、ここに回答として投稿します。
新井

@MaQleod私は個人的にそれを重複とは呼ばないでしょう。なぜなら、それは特にコマンドラインのみの解決策を求めているからです。リンクした質問には、GUIソリューションに対する受け入れられた回答があります。
ベンリチャーズ

1
編集+回答ありがとうございます。私は自分の状況に最適な答えを選びました。
負の

私はこれとまったく同じものを見つけることになりました。(リンクされた投稿は、特にコマンドラインのみを参照しており、私の正確なソリューションも提供しています。)
Shinrai

回答:


123

管理者特権のコマンドプロンプトから、と入力しますwmic os get osarchitecture。出力はかなり明白です、私は思う-それは「32ビット」または「64ビット」のいずれかを返します。


これは、私が使用するソリューションのように聞こえます...今、私はそれを知っています。
ジェームズTスネル

2
または、PSをインストールしたW7マシンまたは別のWindows OSを使用している場合、Powershellで同じことを行うには:(gwmi win32_OperatingSystem).OSArchitecture
EBGreen

2
ここではWindows XPでは動作しません。エラー:無効なクエリを返します。
-user606723

1
警告:WMICを実行するには管理者である必要あります。
ブレークスルー

@ user606723-テストに便利なXPインストールはありませんが、WMIフックがそれほど変わったとは思いませんでした。OPは公平のためにOSを指定しませんでしたが、私はこれを自分でテストする必要があります。
新井

56

systeminfoコンソールプログラムはこれを表示します。「System Type:」行を探してください。32ビットシステムの場合、「x86ベースのPC」と表示されます。64ビットシステムの場合、「x64ベースのPC」と表示されます。

または、より迅速な方法のために、単にPROCESSOR_ARCHITECTURE環境変数を確認できます。64ビットシステムではAMD64、32ビットシステムでは「x86」と表示されます。これを確認するには、単にエコーアウトするだけです:

echo %PROCESSOR_ARCHITECTURE%

MSDNブログのDavid Wangは、このHOWTO:Process Bitnessの検出について詳しく説明しています。


これは、インストールされているOSタイプではなく、PROCESSORタイプを示していませんか?
新井

32ビットモードと64ビットモードは異なるモードである可能性があるため、そうは思いません。プロセッサは32ビットモードである可能性があります。 64ビットモードに移行します。ただし、それは良い点です。テストする必要があるものです。私の兄弟が64ビット対応プロセッサに32ビットのWin 7をインストールしていることを知っているので、私にチェックするように頼みます。
ベンリチャーズ

ええ、わからないので(仮の応答です)、残念ながら自分で確認するのに便利なものはありません。これは、どのように機能しているかに関係なく、特定のプロセッサが報告する単なる文字列だと思いました。確実に知っておくと役立ちます。
Shinrai

4
64ビットシステムで32ビットOSを実行している場合、%PROCESSOR_ARCHITECTURE%は引き続き「x86」になります。ほとんどの場合、64ビットOSは32ビットプログラムを実行できますが、これは逆には機能しませ
bobbymcr

2
投票アップとしてエコー%PROCESSOR_ARCHITECTURE% としても、SQL Serverのコマンドシェルtoo.whereで動作します。wmic OS取得osarchitectureいつかさんは、SQL Serverのコマンドシェルでは動作しません
Durai Amuthan.H

8

%PROGRAMFILES(x86)%環境変数が宣言されているかどうかを確認できます。32ビットシステムでは、定義されません(定義されるだけ%PROGRAMFILES%です)。これは、Program Files(x86)ディレクトリが存在するかどうかを確認するよりも安全です。これは、ディレクトリを移動(または削除)できるためです。


フォルダーを確認するよりも良い回避策です。(回避策を使用するのは好きではありませんが、これに行く場合はこれを使用します。)
Shinrai

非常に良いキャッチ...フォルダーをチェックするバッチがありますが、これは間違いなくもっとエレガントです。
WernerCD

1
また%PROGRAMFILES(x86)%%PROGRAMFILES%変数と変数を比較して、cmdが32ビットモードまたは64ビットモードで起動されているかどうかを確認できます。(64ビットウィンドウ上で、32ビットcmdを実行できます。)例:IF %PROGRAMFILES(x86)%== %PROGRAMFILES%=> 32ビットcmd(64ビットウィンドウで実行中....)IF %PROGRAMFILES(x86)%<> %PROGRAMFILES%=> 64ビットcmd。
サムハスラー

8

プロセッサとOSが64ビットか32ビットかを示す簡単なコマンドラインアプリケーションを作成しました。

読み出し例:

C:\bitchecker
The CPU is 64-bit and the OS is 32-bit

リクエストごとに、AutoItで記述されたCLIオプションを使用してコンパイルされたソースがあります。

If @CPUARCH = "x86" Then
    $CPUARCH = "32-bit"
Else
    $CPUARCH = "64-bit"
EndIf

If @OSARCH = "x86" Then
    $OSARCH = "32-bit"
Else
    $OSARCH = "64-bit"
EndIf

ConsoleWrite("The CPU is " & $CPUARCH & " and the OS is " & $OSARCH)

CPU(-c)およびOS(-o)のスイッチが必要な場合の例を次に示します。

Dim $CPUARCH, $OSARCH

If @CPUARCH = "x86" Then
    $CPUARCH = "32-bit"
Else
    $CPUARCH = "64-bit"
EndIf

If @OSARCH = "x86" Then
    $OSARCH = "32-bit"
Else
    $OSARCH = "64-bit"
EndIf

If $CmdLine[0] = 0 Then
    ConsoleWrite("The CPU is " & $CPUARCH & " and the OS is " & $OSARCH)
Else
    Select
        Case $CmdLine[1] = "-c"
            ConsoleWrite($CPUARCH)
        Case $CmdLine[1] = "-o"
            ConsoleWrite($OSARCH)
        Case Else
            ConsoleWrite("The CPU is " & $CPUARCH & " and the OS is " & $OSARCH)
    EndSelect
EndIf

1
ファイルにソースが付属していればいいと思います。mediafireに投稿された小さなexeをダウンロードして実行することは、かなり不安です。
-artifex

1
@artifex、ソースを追加。
MaQleod

それは偽U_U Jocking :)かもしれない
Pitto

autoitが内部的に使用しているAPIを知っていると便利です。
user60672311

3

の存在を確認するだけの場合

%SYSTEMROOT%\ Program Files(x86)

またはそれは何と呼ばれますか?


特別な解決策ではありませんが、特定の問題に対して迅速かつ汚い仕事をするかもしれません。
ジェームズTスネル

このソリューションに私を打ち負かした、+ 1。短い形式が可能性がありますdir \Program *
タマラWijsman
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.