2011-08-11 17:44:11 +0000 2011-08-11 17:44:11 +0000
83
83

Jak określić, czy mój system Windows jest 32-bitowy czy 64-bitowy za pomocą komendy?

Possible Duplicates: Jak określić, czy komputer ma 64-bitowy procesor lub system operacyjny Detect Windows Server version 32/64-bit in CLI OS version: 32-bit or 64-bit?

Jak określić czy mój system Windows jest 32-bitowy czy 64-bitowy z linii poleceń?

Chcę znać bitowość systemu operacyjnego, nie sprzętu.

To pytanie dotyczy tylko ** linii poleceń** , nie chcę żadnych rozwiązań GUI.

Odpowiedzi (5)

128
128
128
2011-08-11 17:53:25 +0000

Z podwyższonego wiersza poleceń, wpisz wmic os get osarchitecture. Wyjście jest dość oczywiste, jak sądzę - zwróci albo “32-bit” albo “64-bit”.

58
58
58
2011-08-11 17:57:17 +0000

Pokaże to program konsoli systeminfo. Będziesz chciał poszukać linii “System Type:”. Dla systemów 32-bitowych będzie to “PC oparty na x86”. Dla systemów 64-bitowych, będzie napisane “x64-based PC”.

lub, dla szybszej metody, możesz po prostu sprawdzić zmienną środowiskową PROCESSOR__ARCHITECTURE. W systemach 64-bitowych będzie napisane “AMD64”, a w systemach 32-bitowych “x86”. Aby to sprawdzić, możesz po prostu powtórzyć:

echo %PROCESSOR_ARCHITECTURE%

David Wang over w MSDN Blogs rozszerza na to HOWTO: Detect Process Bitness

8
8
8
2011-08-11 17:54:12 +0000

Możesz sprawdzić, czy zmienna środowiskowa %PROGRAMFILES(x86)% jest zadeklarowana. W systemach 32-bitowych, będzie ona nie zdefiniowana (tylko %PROGRAMFILES% będzie). Jest to również bezpieczniejsze niż sprawdzanie, czy istnieje katalog Program Files (x86), ponieważ można go przenieść (lub nawet usunąć).

8
8
8
2011-08-11 18:21:03 +0000

Napisałem prostą aplikację z linii poleceń, która powie ci, czy twój procesor i system operacyjny są 64-bitowe czy 32-bitowe.

Przykład odczytu:

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

Na żądanie, tutaj jest źródło, skompilowane przy użyciu opcji CLI, napisane w AutoIt.

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)

A tutaj jest przykład, jeśli chcesz przełączniki dla CPU (-c) i 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
4
4
4
2011-08-11 17:51:04 +0000

Co jeśli po prostu sprawdzisz obecność

%SYSTEMROOT% \Program Files(x86)

lub cokolwiek to jest nazywane?