Các giá trị có thể có của% PROCESSOR_ARCHITECTURE%


24

Tôi đang viết một tập lệnh bó cho windows 7 và muốn xử lý cả bộ xử lý 64 bit và x86.

Các giá trị có thể có của %PROCESSOR_ARCHITECTURE%biến môi trường Windows là gì?


6
'Di chuyển từ stackoverflow' ... như thể ai đó không nghĩ rằng kịch bản hàng loạt là chương trình phù hợp !?
Rory

Câu trả lời hàng đầu đã lỗi thời kể từ tháng 5 năm 2019. Thay vào đó, vui lòng xem câu trả lời này
rahuldottech hỗ trợ Monica

Câu trả lời:


27

http://msdn.microsoft.com/en-us/l Library / aa384274.aspx

  • AMD64
  • IA64
  • x86

Lưu ý rằng điều này không cho bạn biết kiến ​​trúc của bộ xử lý mà chỉ về quá trình với biến môi trường. Nó trả về "x86" cho quy trình 32 bit chạy trên Windows 64 bit.


10
Có một cách giải quyết cho vấn đề "32bit trên Windows 64 bit": chỉ cần kiểm tra PROCESSOR_ARCHITEW6432và nếu nó không được xác định (nghĩa là bằng AMD64hoặc IA64), thì đây là máy 64 bit. Nguồn .
Olegs Jeremejevs

2
Nên thêm ARMvào đó bây giờ.
quadruplebucky

2
Câu trả lời này đã lỗi thời kể từ tháng 5 năm 2019. Thay vào đó, vui lòng xem câu trả lời này .
rahuldottech hỗ trợ Monica

5

"EM64T" cũng là một giá trị có thể, tuy nhiên không thể. Tôi hiểu rằng bạn sẽ chỉ thấy điều này với XP-64.


2

Câu trả lời hàng đầu hiện đang lỗi thời. Kể từ tháng 5 năm 2019, đây là tất cả các giá trị hợp lệ của %PROCESSOR_ARCHITECTURE%:

64-bit :

  • AMD64
  • IA64
  • ARM64
  • EM64T

( EM64TRất hiếm thấy, hầu như luôn luôn trên Windows XP-64. Bạn có thể yên tâm bỏ qua điều này trong kịch bản của bạn trong hầu hết các trường hợp trừ khi nhu cầu mã của bạn để được siêu tương thích ngược.)

32-bit :

  • X86

( nguồn )

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.