Jaki jest najlepszy i najszybszy sposób na wykrycie, czy używasz 32-bitowej lub 64-bitowej wersji systemu Windows Server z wiersza polecenia?
(Cygwin jest zainstalowany)
Jaki jest najlepszy i najszybszy sposób na wykrycie, czy używasz 32-bitowej lub 64-bitowej wersji systemu Windows Server z wiersza polecenia?
(Cygwin jest zainstalowany)
Nieco szybszym sposobem byłoby sprawdzenie istnienia katalogu% ProgramFiles (x86)%. Jeśli istnieje, to używasz 64-bitowego, jeśli nie istnieje, to używasz 32-bitowego.
Szybki jednowarstwowy:
if exist "%ProgramFiles(x86)%" echo 64-bit
Zostanie wyświetlony, 64-bit
jeśli katalog istnieje. To by się nie powiodło, gdyby nie istniało jako zmienna, ale istniało jako katalog (jako% ProgramFiles (x86)%).
Możesz także użyć narzędzia wyszukiwania, aby uzyskać dokładniejszy sposób określania bitów.
set | find "ProgramFiles(x86)"
lub używając systeminfo
wcześniej polecenia
systeminfo | find /I "System type"
(w tym /I
do pracy w XP / 2003/2008 / etc)
systeminfo | find "System type"
Capitol T nic nie zwraca.Co powiesz na:
Zwróci x86 w systemach 32-bitowych i AMD64 (lub IA64 ) w systemach 64-bitowych.
źródło
Program Files (x86)
katalog został opublikowany przez kogoś innego. Możesz także sprawdzić, czy istnieje%PROGRAMFILES(X86)%
zmienna środowiskowa (jeśli nie istnieje, to jesteś na komputerze x86).Spowoduje to wyświetlenie całkiem sporo, około 10 pól poniżej to jedno o nazwie Typ systemu. Dzięki temu dowiesz się, czy jest to x86 czy x64
źródło
Jest to zależne od ustawień regionalnych i wolne .
Zauważ, że jest to x86 w wersji 32-bitowej
cmd.exe
.Właściwa droga:
źródło
PROCESSOR_ARCHITEW6432
Inny sposób sprawdzenia za pomocą zapytania WMI:
PowerShell:
CMD:
Wyodrębniono stąd: http://www.sysadmit.com/2015/10/windows-como-saber-si-es-de-32-o-64-bits.html
źródło
Istnieje wiele sposobów sprawdzenia architektury procesorów w systemie Windows:
Najszybszym, najłatwiejszym i najbardziej kompatybilnym sposobem sprawdzenia architektury procesorów w systemie Windows 2000 i nowszych jest sprawdzenie
PROCESSOR_ARCHITECTURE
zmiennej środowiskowej :echo %PROCESSOR_ARCHITECTURE%
Może to jednak dać różne wyniki, w zależności od sposobu otwarcia wiersza polecenia. Aby uniknąć „nieoczekiwanych wyników” z powodu WoW64 , możesz odczytać go bezpośrednio z rejestru (Microsoft napisał nie mniej niż dwie literówki w kluczu ):
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE
Microsoft sugeruje również odczytanie magazynu informacji o sprzęcie z rejestru:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" /v Identifier
Możesz także sprawdzić, czy istnieje wersja
Program Files
katalogu x86 (lub wskazująca ją zmienna środowiskowa ), ponieważ istniałaby ona tylko w systemie 64-bitowym. W przeciwieństwie doPROCESSOR_ARCHITECTURE
zmiennej, nie zależy to od sposobu uruchomienia wiersza polecenia, ponieważ katalog istnieje (lub nie), niezależnie od tego, jak wiersz jest otwierany:::via env-var
if not defined ProgramFiles(x86) echo 32-bit
::via file-system
if not exist "%systemdrive%\Program Files (x86)" echo 32-bit
Metody te można łączyć w jednym pliku wsadowym (np.
cpuinfo.bat
) I zapewnia przyjemny, błyskawiczny sposób sprawdzania systemu ze standardowego wiersza polecenia systemu Windows NT bez konieczności uciekania się do uruchamiania innych programów lub ram.Zostało to przetestowane na systemach 32-bitowych i Intel 64-bitowych (proszę przetestować na AMD64), dając prawidłowe wyniki w <1 sekundę:
źródło
OGÓLNE ROZWIĄZANIE
Naprawdę musiałem się w to zagłębić i naprawdę rozejrzeć po WMI.
Moim zdaniem najlepszą opcją jest po prostu użycie tego ciągu programu PowerShell
Działa to nawet ze starymi Windows 2003 i XP
Odpowiedź będzie jedna z
Komputer z procesorem x64
Lub jeśli powracasz do starych narzędzi cmd
źródło
Chociaż nie jest to idealna odpowiedź i
systeminfo.exe
powinna być preferowaną metodą określania typu systemu, tj. 32-bitowego lub 64-bitowego, to rozwiązanie działa nieco szybciej, jeśli nie chcesz czekaćsysteminfo.exe
zakończenie pracy.Komenda:
Przy poprawnych zmianach zapytania rejestru i ciągu wyszukiwania można również sprawdzić wersje systemu operacyjnego już w Windows 95.
systeminfo.exe
jest bardziej dokładny, a poprawny sposób zapytania,reg.exe query
jest szybszy i bardziej kompatybilny wstecz.źródło
reg query "HKLM\[..as before..]\Version" /v BuildLabEx
Lepsze ROZWIĄZANIE:
Metoda 1:
(Dwustopniowa walidacja za pomocą
PROCESSOR_ARCHITECTURE
iPROCESSOR_ARCHITEW6432
)Metoda 2:
źródło: /superuser//a/293143/249349
źródło
Za pomocą interfejsu WMI w wierszu polecenia. Otwórz wiersz polecenia jako administrator, wpisz
wmic OS get OSArchitecture
i naciśnijEnterźródło