.bat IF 64 bits
Micromega
-
jee pee Messages postés 41539 Date d'inscription Statut Modérateur Dernière intervention -
jee pee Messages postés 41539 Date d'inscription Statut Modérateur Dernière intervention -
Bonjour,
Dans un ".bat" j'ai une successions de commandes.
Cette successions de commandes commence en amont par un IF fichier existe alors faire ça ou ça.
Cependant j'aimerais intégrer un second IF au code qui lance un fichier 64 bits seulement si la machine est en 64 bits. Lorsque je fait :
If not "%PROCESSOR_ARCHITECTURE%"=="x86" goto [64 Bits]
:[64 Bits]
Start "" "Fichier en 64 bits"
Cela ne fonctionne pas. Où est l'erreur ?
Par ailleurs, est-il possible de mettre plusieurs IF successivement ?
Merci
Dans un ".bat" j'ai une successions de commandes.
Cette successions de commandes commence en amont par un IF fichier existe alors faire ça ou ça.
Cependant j'aimerais intégrer un second IF au code qui lance un fichier 64 bits seulement si la machine est en 64 bits. Lorsque je fait :
If not "%PROCESSOR_ARCHITECTURE%"=="x86" goto [64 Bits]
:[64 Bits]
Start "" "Fichier en 64 bits"
Cela ne fonctionne pas. Où est l'erreur ?
Par ailleurs, est-il possible de mettre plusieurs IF successivement ?
Merci
A voir également:
- .bat IF 64 bits
- Winrar 64 bits - Télécharger - Compression & Décompression
- Clé windows 10 pro 64 bits gratuit - Guide
- 32 bits ou 64 bits - Guide
- Fichier bat - Guide
- Format factory 64 bit - Télécharger - Conversion & Codecs
3 réponses
Bonjour,
Sur mon pc (Windows 10 64 bits) ton script fonctionne.
Sauf que si tu mets les commandes pour 32 bits derrière le IF et qu'avant le label [64 bits] tu ne mets pas un saut, cela exécute 32 + 64
Il te faut une syntaxe du type
cdlt
un étranger, c'est un ami qu'on n'a pas encore rencontré.
Sur mon pc (Windows 10 64 bits) ton script fonctionne.
Sauf que si tu mets les commandes pour 32 bits derrière le IF et qu'avant le label [64 bits] tu ne mets pas un saut, cela exécute 32 + 64
Il te faut une syntaxe du type
If not "%PROCESSOR_ARCHITECTURE%"=="X86" goto [64 Bits] echo 32 BITS ..... goto END :[64 Bits] echo 64 BITS .... :END
cdlt
un étranger, c'est un ami qu'on n'a pas encore rencontré.
Bonjour,
Merci pour la réponse.
Oui cela fonctionne sous Win10 64b, mais sur un XP 32b il lance quand même la commande malgré qu'il s'agisse d'une version 32.
Par ailleurs mon code ressemble à un truc comme ça :
IF exist "Fichier" (GOTO [OUI]) ELSE (GOTO [NON])
:[OUI]
Start "" "Fichier.exe" >NUL 2>&1
GOTO END
:[NON]
Copy "Fichier.exe" "%WINDIR%\System32" >NUL 2>&1
Start "" "fichier.exe" >NUL 2>&1
GOTO END
:END
Comment insérer un autre IF et go to end en fonction du processeur ?
Merci
Merci pour la réponse.
Oui cela fonctionne sous Win10 64b, mais sur un XP 32b il lance quand même la commande malgré qu'il s'agisse d'une version 32.
Par ailleurs mon code ressemble à un truc comme ça :
IF exist "Fichier" (GOTO [OUI]) ELSE (GOTO [NON])
:[OUI]
Start "" "Fichier.exe" >NUL 2>&1
GOTO END
:[NON]
Copy "Fichier.exe" "%WINDIR%\System32" >NUL 2>&1
Start "" "fichier.exe" >NUL 2>&1
GOTO END
:END
Comment insérer un autre IF et go to end en fonction du processeur ?
Merci
Parce qu'en informatique tout compte x86 n'est pas (toujours) égal à X86 ;-)
tu pourrais essayer un truc du style
un étranger, c'est un ami qu'on n'a pas encore rencontré.
tu pourrais essayer un truc du style
IF exist "Fichier" goto [OUI] IF "%PROCESSOR_ARCHITECTURE%"=="x86" ( Copy "Fichier.exe" "%WINDIR%\System32" >NUL 2>&1 ) ELSE ( Copy "Fichier.exe" "%WINDIR%\syswow64" >NUL 2>&1 ) :[OUI] Start "" "Fichier.exe" >NUL 2>&1
un étranger, c'est un ami qu'on n'a pas encore rencontré.