Quelle est la manière la meilleure et la plus rapide de détecter si vous exécutez une version 32 ou 64 bits de Windows Server à partir de la ligne de commande?
(Cygwin est installé)
Quelle est la manière la meilleure et la plus rapide de détecter si vous exécutez une version 32 ou 64 bits de Windows Server à partir de la ligne de commande?
(Cygwin est installé)
Un moyen un peu plus rapide serait de vérifier l'existence du répertoire% ProgramFiles (x86)%. S'il existe, vous exécutez 64 bits, s'il n'existe pas, vous exécutez 32 bits.
One-liner rapide:
if exist "%ProgramFiles(x86)%" echo 64-bit
Cela sortira 64-bit
si le répertoire existe. Cela échouerait, cependant, s'il n'existait pas en tant que variable mais qu'il existait en tant que répertoire (en tant que% ProgramFiles (x86)%).
Vous pouvez également utiliser l'outil de recherche pour avoir un moyen plus précis de déterminer le témoin.
set | find "ProgramFiles(x86)"
ou en utilisant la systeminfo
commande précédemment
systeminfo | find /I "System type"
(inclus /I
pour fonctionner sous XP / 2003/2008 / etc)
systeminfo | find "System type"
Capitol T ne renvoie rien.Que diriez-vous:
Cela renverra x86 sur les systèmes 32 bits et AMD64 (ou IA64 ) sur les systèmes 64 bits.
la source
Program Files (x86)
répertoire lorsque quelqu'un l'a publié. Vous pouvez également vérifier l'existence de la%PROGRAMFILES(X86)%
variable d'environnement (si elle n'existe pas , vous êtes sur une machine x86).Il énumérera un peu, environ 10 champs en bas, il y en a un appelé Type de système. Cela vous dira si c'est x86 ou x64
la source
Cela dépend des paramètres régionaux et est lent .
Notez que c'est x86 en 32 bits
cmd.exe
.Façon correcte:
la source
PROCESSOR_ARCHITEW6432
Autre moyen de vérifier avec une requête WMI:
PowerShell:
CMD:
Extrait d'ici: http://www.sysadmit.com/2015/10/windows-como-saber-si-es-de-32-o-64-bits.html
la source
Il existe de nombreuses façons de vérifier l'architecture du processeur sous Windows:
Le moyen le plus rapide, le plus simple et le plus compatible pour vérifier l'architecture du processeur dans au moins Windows 2000 et versions ultérieures consiste à examiner la
PROCESSOR_ARCHITECTURE
variable d'environnement :echo %PROCESSOR_ARCHITECTURE%
Cependant, cela peut donner des résultats différents, selon la façon dont l'invite de commande est ouverte. Pour éviter d'obtenir des «résultats inattendus» dus à WoW64 , vous pouvez le lire directement à partir du registre (Microsoft a fait pas moins de deux fautes de frappe dans la clé ):
reg query "HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Environment" /v PROCESSOR_ARCHITECTURE
Microsoft suggère également de lire la banque d'informations sur le matériel à partir du registre:
reg query "HKLM\Hardware\Description\System\CentralProcessor\0" /v Identifier
Vous pouvez également vérifier l'existence de la version x86 du
Program Files
répertoire (ou de la variable d'environnement qui le pointe) car elle n'existerait que sur un système 64 bits. Contrairement à laPROCESSOR_ARCHITECTURE
variable, cela ne dépend pas de la façon dont l'invite de commandes est exécutée, car le répertoire existe (ou non), quelle que soit la façon dont l'invite est ouverte:::via env-var
if not defined ProgramFiles(x86) echo 32-bit
::via file-system
if not exist "%systemdrive%\Program Files (x86)" echo 32-bit
Ces méthodes peuvent être combinées dans un seul fichier de commandes (par exemple,
cpuinfo.bat
) et fournissent un moyen agréable et rapide de vérifier le système à partir d'une invite de commandes Windows NT standard sans avoir à recourir à l'exécution d'autres programmes ou frameworks.Cela a été testé sur des systèmes 32 bits et Intel 64 bits (veuillez tester sur AMD64), donnant des résultats corrects en <1 seconde:
la source
SOLUTION GÉNÉRIQUE
J'ai vraiment dû creuser cela et avoir un vrai regard sur WMI.
La meilleure option à mon avis est d'utiliser simplement cette chaîne PowerShell
Cela fonctionne même avec les anciens Windows 2003 et XP
La réponse sera l'une des
PC x64
Ou si vous revenez à certains outils cmd à l'ancienne
la source
Bien que ce ne soit pas la réponse idéale, et
systeminfo.exe
devrait être votre méthode préférée pour déterminer le type de système, c'est-à-dire 32 bits ou 64 bits, cette solution s'exécute un peu plus rapidement si vous ne voulez pas attendre poursysteminfo.exe
terminer son travail.La commande:
Avec les modifications correctes apportées à la requête de registre et à la chaîne de recherche, vous pouvez également vérifier les versions du système d'exploitation depuis Windows 95.
systeminfo.exe
est plus exacte et la manière correcte d'interrogerreg.exe query
est plus rapide et plus rétrocompatible.la source
reg query "HKLM\[..as before..]\Version" /v BuildLabEx
Meilleure SOLUTION:
Méthode 1:
(validation en deux étapes avec
PROCESSOR_ARCHITECTURE
etPROCESSOR_ARCHITEW6432
)Méthode 2:
source: /superuser//a/293143/249349
la source
À l'aide de l'interface WMI, sous l'invite de commandes. Ouvrez l'invite de commandes en tant qu'administrateur, tapez
wmic OS get OSArchitecture
et appuyez surEnterla source