J'ai un script que j'essaye de créer une fonction pour exécuter quelques commandes selon la version de système.Comment créer une condition dans les fenêtres de traitement par lots?
Pour savoir quelle version de Windows que je fais:
systeminfo | Findstr/B/C: "OS Name"/C: "OS Version"> version.txt
set version = <version.txt
del version.txt
echo% version% #(variable test, ok)
J'ai besoin la fonction suivante (plus ou moins comme je le ferais dans le lot Linux):
if [echo% version% | Findstr/B/C: "Windows XP"> "0"] {
echo "Windows XP"
}
if [echo% version% | Findstr/B/C: "Windows 7"> "0"] {
echo "Windows 7"
}
if [echo% version% | Findstr/B/C: "Windows 8"> "0"] {
echo "Windows 8"
}
if [echo% version% | Findstr/B/C: "Windows 10"> "0"] {
echo "Windows 10"
}
Il y a littéralement des milliers d'exemples de fichiers de commandes sur tout le web des moyens d'identifier la version Windows . _ (Je suggérerais aussi que votre sera parmi les plus lents parce que la commande systeminfo prend un certain temps à terminer) _. Cela dit, l'identification du système d'exploitation n'est généralement nécessaire que si vous essayez de contrôler/restreindre les commandes. Pourriez-vous s'il vous plaît nous fournir vos intentions une fois que l'OS est identifié afin que nous puissions suggérer les méthodes les plus appropriées. – Compo
J'ai un script pour installer automatiquement certains logiciels, et certains softs ne peuvent être installés que dans une version déterminée de Windows. –
Tout installateur de logiciel décent devrait déjà avoir la capacité de déterminer si les exigences du système sont satisfaites. Un programme 64 bits ne devrait pas pouvoir être installé sur un système d'exploitation 32 bits, un logiciel nécessitant un minimum de Windows 8 ne devrait pas pouvoir être installé sur Windows Vista et ainsi de suite ... Pour tout ce qui n'est pas couvert tout ce que vous devriez besoin de faire est de déterminer si la version est supérieure ou égale à votre minimum, ne pas déterminer le nom du produit. Incidemment, la commande 'ver' obtient la version cmd.exe pas la version du système d'exploitation. – Compo