Blog Tech

Récupérer la version de Windows en script batch

Batch et VBScript 18
A ce point ?PassableIntéressantYeahExcellent! (3 vote(s), 3,67/ 5)
Loading...

Si vous utilisez des scripts batchs au sein de votre réseau de PC, il peut être utile suivant la version de Windows d'agir différemment. En effet, une fonction système qui fonctionne sur Windows XP peut ne pas fonctionner sur Windows 98 (et vice-versa).

Aussi étonnant que cela puisse paraître il n'existe pas de variable d'environnement permettant de récupérer cette information sur la version ! Seule la variable %OS% est définie mais ne permet pas différencier les différents OS bâtis sur les noyaux NT (tels que 2003, 2000, XP), de plus elle n'est pas présente sur tous les OS Microsoft.

Je vous propose donc une solution que j'ai du mettre en place dans le cadre d'un script qui, je l'espère, vous servira à votre tour.

La liste des versions de Windows NT est disponible sur Wikipedia (version list).

Récupérer la version de l'OS dans une variable :

@echo off
cls
color 5F
REM Detection de l'OS (source blogmotion.fr)
ver | find /i "version 10.0." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 10 Insider Preview
ver | find /i "version 10.0.100" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 10 Technical Preview
ver | find /i "version 10.0.10586" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 10 Threshold 2
ver | find /i "version 10.0.10240" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 10 Threshold 1
ver | find /i "version 6.4." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 10 Technical Preview
ver | find /i "version 6.3." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 8.1-2012R2
ver | find /i "version 6.2." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 8-2012
ver | find /i "version 6.1." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 7-2008R2
ver | find /i "version 6.0." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows Vista-2008
ver | find /i "version 5.1." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows XP
ver | find /i "version 5.2." > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 2003
ver | find /i "Windows 2000" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 2000
ver | find /i "Windows NT" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows NT
ver | find /i ">Windows ME" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows ME
ver | find /i "Windows 98" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 98
ver | find /i "Windows 95" > nul && if %errorlevel%==0 set $VERSIONWINDOWS=Windows 95

echo OS : %$VERSIONWINDOWS%
echo.(source du script: https://blogmotion.fr)
echo.

Voila le résultat du script (vous devinerez à partir de quel OS je l'ai lancé) :

Diriger l'exécution dans un label suivant l'OS : » Lire la suite

Créer un menu de sélection de choix en DOS

Batch et VBScript 5
A ce point ?PassableIntéressantYeahExcellent! (5 vote(s), 4,40/ 5)
Loading...

Si jamais vous réalisez des scripts en batch vous aurez peut-être un jour besoin de proposer un menu choix à choix multiple à l'utilisateur :
» Lire la suite

Testeur d’expressions régulières Javascript en ligne

web 2
A ce point ?PassableIntéressantYeahExcellent! (Votez !)
Loading...

Pas facile d'écrire les bonnes expressions régulières lorsqu'on ne les manipule pas régulièrement.

Pour valider vos expressions régulières sans avoir à bidouiller votre code, je vous propose de les essayer directement en ligne via le testeur d'expressions régulières de QuentinC :

» Lire la suite

Exécuter un script shell avec permission root en PHP

Système 14
A ce point ?PassableIntéressantYeahExcellent! (6 vote(s), 4,17/ 5)
Loading...

Il peut arriver d'avoir besoin d'automatiser des actions sur un serveur linux via une page web, typiquement en PHP. Ne trouvant que peu de documentation sur ce principe, je vous propose une solution qui devrait fonctionner sur la majorité des serveurs (testée sous Debian et Ubuntu pour mon cas).

Nous allons dans cet exemple redémarrer le service DNS (Bind9) grâce à un formulaire html exécutant cette fameuse commande via un bout de code PHP. » Lire la suite

Script d’upload PHP propre et sécurisé

PHP (My)SQL 1
A ce point ?PassableIntéressantYeahExcellent! (9 vote(s), 3,89/ 5)
Loading...

But : créer un script d'envoi de fichiers PHP

Sur la toile le nombre de scripts d'envoi PHP (upload) est incalculable. La grande majorité de ces scripts est obsolète : mauvaise sécurité, crée pour une ancienne version de PHP et donc pas optimal, mauvaise logique de langage, etc.

Je vous propose de découvrir un script réalisé en PHP, et qui plus est en POO avec des classes, qui vous permet de réaliser ce formulaire d'envoi correctement. Je l'ai découvert sur le site de Miasmatech et j'avoue que les explications sont très pédagogiques et accessibles 🙂

Lire le tutoriel (version pdf mirroir)

Détecter la version PHP installée

PHP (My)SQL 2
A ce point ?PassableIntéressantYeahExcellent! (Votez !)
Loading...

But : détecter la version de PHP interprétant le code source sur son serveur

Suivant les versions de PHP vos scripts peuvent plus ou moins fonctionner.

Je vous propose aujourd'hui une astuce permettant de détecter la version PHP mais également de préciser votre version minimale requise.

En effet j'ai déjà eu assez de surprises dans ce style, surtout lorsque vous fournissez un script qui peut-être réutilisé par d'autres personnes : source d'incompatibilité garantie.

Voici une fonction permettant de pallier à ce souci » Lire la suite

Script Batch (.bat) avec accents sous DOS

Batch et VBScript 16
A ce point ?PassableIntéressantYeahExcellent! (6 vote(s), 4,50/ 5)
Loading...

But : convertir les caractères spéciaux au format reconnu par DOS (encodage CP850)

Note : si vous cherchez comment échapper les caractères spéciaux, consultez cette page.

Si vous écrivez un script batch (.bat) par exemple sous Notepad, vous vous rendrez vite compte que les caractères spéciaux ne sont pas reconnus sous DOS. Ou plutôt ils sont acceptés en tant qu'autre caractère, ce qui peut-être plutôt génant. » Lire la suite

Exécuter du Python sur WAMP5

Dév 6
A ce point ?PassableIntéressantYeahExcellent! (3 vote(s), 4,33/ 5)
Loading...

Après maintes recherches sur notre ami Google, je vous annonce que faire tourner du Python sur WAMP c'est possible. Je rappelle que WAMP (version 5) est un programme (Windows) permettant d'utiliser Apache/MySQL/PHP (d'où son nom).

La documentation à propos de ce genre d'installation étant quasiment inexistante, voici la configuration utilisée pour un fonctionnement garanti :

1. Apache : 2.0.59
2. Python 2.4
3. mod_python-3.2.8.win32-py2.4.exe

Et bien sûr le fichier de configuration httpd.conf.

L'ordre de l'installation doit rester le même. De la même façon, voici les dossiers d'installation préconisés :

  • WAMP doit être installé dans C:/wamp,
  • Python doit être installé dans C:/Python24
  • mod_python utilise Python et doit être placé dans le répertoire C:\Python24
  • mod_python.so dans le répertoire C:/wamp/Apache2/modules

Voici les liens de téléchargements des différents programmes :

1. Télécharger WAMP5
2. Télécharger python 2.4 - mirroir (j'utilise ActivePython-2.4.3.12-win32-x86.msi)
3. Télécharger mod Python (3.2.8 pour Python 2.4)
4. Télécharger httpd.conf (écrasez le votre, faites-en une sauvegarde avant si nécessaire)

Bonne programmation Python 🙂

Highslide JS (librairie javascript)

Dév, web 9
A ce point ?PassableIntéressantYeahExcellent! (5 vote(s), 3,60/ 5)
Loading...

Description : Highslide JS est une librairie écrite en Javascript qui améliore l'utilisation les aperçus (thumbnail) d'images.

Licence : Elle est gratuite pour une utilisation non commerciale (site perso, éducation et tout autre site non commercial). Pour une utilisation commerciale (au sein d'une entreprise par exemple) il vous en coûtera 30 dollars. » Lire la suite