ฉันจะทราบได้อย่างไรว่า Windows รุ่นปัจจุบันเป็น 32- บิตหรือ 64- บิตจากบรรทัดคำสั่ง [ซ้ำ]


26

บรรทัดคำสั่งในการตรวจสอบว่าระบบปฏิบัติการที่ใช้ Windows รุ่น 32 บิตหรือ 64 บิตเป็นเท่าไหร่?


ภาษาอะไรกัน!
Alix Axel

@AlixAxel พวกเขาพูดว่าcommand-lineดังนั้นถ้ามี Batch
Synetech

คำตอบ:


33

คุณสามารถรับสิ่งนี้ผ่าน WMI:

wmic OS get OSArchitecture

ตัวอย่างในระบบของฉัน:

C:\>wmic OS get OSArchitecture
OSArchitecture
32-bit

ฉันชอบคำตอบนี้ (ต้องไปเรียนรู้ฉันคอนโซล WMI บางอย่าง :)) แต่ฉันต้องให้ "systeminfo" สำหรับการกดแป้น ;)
Ƭᴇcʜιᴇ007

XP?
Synetech

18

บรรทัดคำสั่ง:

systeminfo | findstr /I type:

เอาท์พุทตัวอย่าง:

ประเภทของระบบ: พีซีที่ใช้ X86

X86 หมายถึงระบบ 32 บิตในตัวอย่างนี้

( /I พารามิเตอร์บ่งชี้ว่าการค้นหาแบบคำนึงถึงขนาดตัวพิมพ์ )


ฉันให้คะแนนคุณสำหรับการกดแป้นแล้วคุณทำให้มันนานขึ้น hehe :)
Ƭᴇcʜιᴇ007

ไม่ใช่คำตอบของฉัน: P
John T

2
แต่ "พีซีที่ใช้ X86" นั้นเหมือนกับ OSAr Architecture 32 บิตใช่ไหม คุณสามารถเรียกใช้ Win XP แบบ 32 บิตบนโปรเซสเซอร์ x64
Michael Caron

ระวังถ้าภาษา OS ของคุณเป็นภาษาเยอรมัน (หรืออาจจะเป็นภาษาอื่นที่ไม่ใช่ภาษาอังกฤษ)! ฉันต้องเปลี่ยนsysteminfo | findstr /I typ:เป็นรายการทั้งหมดSystemtyp: x64-based PC
CeOnSql

systeminfo | findstr /C:"System Type"ดึงข้อมูลเดียวกันมาด้วยเช่นกัน แต่ฉันเดาว่าข้อความที่ยาวกว่านี้จะเป็นที่ต้องการน้อยกว่า
Abhijeet

13

ฉันไม่สามารถแนบคำตอบไปยังโพสต์อื่นได้ที่นี่ การไพพ์ผลลัพธ์ของsysteminfo- กำลังใช้เวลาค่อนข้างมากและเขียนไปยังคอนโซลดังนั้นจึงไม่ใช่ทางออกที่ดีที่สุดสำหรับไฟล์คำสั่ง (สคริปต์แบทช์ - อย่างไรก็ตามคุณต้องการเรียกมันว่า B-)

แม้จะมีfindstr- มันไม่พบสิ่งนี้ในหน้าต่างภาษาอื่น ในภาษากลางยุโรป win7 ระบบปฏิบัติการก็จะส่งคืน ... "ตาม X86" ... ในผลลัพธ์ แต่มีบางอย่างที่ "พิมพ์" กำลังมองหา ฉันไม่แน่ใจว่ามันสามารถแตกต่างกันไปในภาษาอื่น ๆ ของระบบปฏิบัติการ

อาจเป็นวิธี "wmic" น่าเชื่อถือที่สุด - มันถามระบบปฏิบัติการโดยตรง

วิธีแก้ปัญหาด่วนอื่น ๆ ที่เป็นไปได้คือการตรวจสอบตัวแปร (อย่างน้อยก็ทำงานกับ win7 ที่ฉัน)

echo %PROCESSOR_ARCHITECTURE%

ตกลง - มันค่อนข้างนานที่จะจำได้ แต่เป็นไปได้ที่set | findstr ARCHสามารถจำได้

แน่นอน - wmicบางสามารถปรับเปลี่ยนตัวแปรระบบเพื่อไม่ที่น่าเชื่อถือมากกว่า แต่สามารถใช้งานได้อย่างรวดเร็ว

ฉันหวังว่าฉันสามารถช่วยใครบางคนออก


ฉันไม่แน่ใจว่าคำสั่ง echo จะทำงานบนกล่อง XP ของฉันเพราะฉันไม่เคยเห็นตัวแปรสภาพแวดล้อมนี้มาก่อน (อาจเป็นเพราะฉันไม่เคยมองหามัน) แต่ก็เป็นเช่นนั้น +1 สำหรับวิธีง่ายๆ
music2myear

11

มีหลายวิธีในการตรวจสอบสถาปัตยกรรมโปรเซสเซอร์ภายใต้ Windows:

  • วิธีที่เร็วที่สุดง่ายที่สุดและเข้ากันได้ดีที่สุดในการตรวจสอบสถาปัตยกรรมโปรเซสเซอร์ในอย่างน้อย Windows 2000ขึ้นไปคือการตรวจสอบPROCESSOR_ARCHITECTURE ตัวแปรสภาพแวดล้อม :

    echo %PROCESSOR_ARCHITECTURE%

  • อย่างไรก็ตามสิ่งนี้สามารถให้ผลลัพธ์ที่แตกต่างกันขึ้นอยู่กับวิธีเปิดพร้อมท์คำสั่ง เพื่อหลีกเลี่ยงการ"ผลลัพธ์ที่ไม่คาดคิด" เนื่องจาก WoW64คุณสามารถอ่านได้โดยตรงจากรีจิสตรี (Microsoft ได้พิมพ์ตัวอักษรไม่น้อยกว่าสองตัวในคีย์ ):

    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.

5

ฉันไม่สามารถหาOSArchitectureคุณสมบัติ (ตามคำตอบของ phoebus) ดังนั้นฉันขอแนะนำให้ใช้SystemTypeคุณสมบัติComputerSystemแทน

เรียกใช้คำสั่งwmic computersystem get systemtypeจากพรอมต์คำสั่งให้

C:\Windows\system32>wmic computersystem get systemtype  

SystemType x64-based PC


1

หากคุณอ้างถึง windows OS คุณสามารถใช้ vbscript กับ 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

1

คุณสามารถค้นหาข้อมูลโดยใช้ "ข้อมูลระบบ"

Start-> Run -> winmsd.exe

ภายใต้ "สรุประบบ" / ประเภทระบบคุณสามารถค้นหาเวอร์ชั่นของระบบปฏิบัติการ

X64 -> 64 บิต
X86 -> 32 บิต

คำตอบของ JohnT ใน GUI;)


1

ไปที่ Start » Run cmdแล้วพิมพ์ ตอนนี้คุณจะอยู่ในพร้อมรับคำสั่ง คุณสามารถพิมพ์ systeminfoจากนั้นกด Enter ใช้เวลาสองสามวินาทีในการรับข้อมูลระบบทั้งหมดของคุณ คุณสามารถค้นหาข้อมูลโปรเซสเซอร์ได้เช่นกัน

 Processor(s):              1 Processor(s) Installed.
                           [01]: x86 Family 15 Model 4 Stepping 10 GenuineIntel
  • x86 Family หมายถึงโปรเซสเซอร์ของคุณเป็นแบบ 32 บิต
  • x64 Family หมายความว่าโปรเซสเซอร์ของคุณเป็นแบบ 64 บิต

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

2
ใช้เวลาไม่กี่วินาทีแน่นอน! และการเรียกใช้อีกครั้งจะไม่ช่วยได้เพราะไม่ได้แคชข้อมูล นอกจากนี้การปรับปรุงของ Windows moreสาเหตุส่วนหนึ่งเกี่ยวกับสถาปัตยกรรมได้อย่างรวดเร็วเลื่อนปิดหน้าจอดังนั้นถ้าคุณมีบัฟเฟอร์ขนาดใหญ่พอที่คุณจะต้องเข้าไปในท่อ
Synetech

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.