A voir également:
- Script en .bat
- Fichier bat - Guide
- Script vidéo youtube - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
- Ghost script - Télécharger - Polices de caractères
- Microsoft activation script - Accueil - Windows
3 réponses
EminoMeneko
Messages postés
2435
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
23 mai 2018
318
3 févr. 2009 à 15:02
3 févr. 2009 à 15:02
else if ça n'existe pas en fichiers de commande sous windows à ma connaissance.
je viens de modifier la ligne en question par if %var% =="1" goto fin
mais cela ne marche toujours pas :s
merci de la rapidité de la reponse tout de meme
mais cela ne marche toujours pas :s
merci de la rapidité de la reponse tout de meme
EminoMeneko
Messages postés
2435
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
23 mai 2018
318
3 févr. 2009 à 15:18
3 févr. 2009 à 15:18
Ce qu'il faut que tu saches c'est que dans un script batch sous windows pas de fonction ou de contrôle du flux comme dans bash ou autre langage évolué. A ce titre tu pourrait éventuellement essayer de te pencher vers le vbscript. Donc en gros en batch pas de fonction pas de if(...then), else, else if (elif), for, while, do...while, until, j'en passe et des meilleures...
Dans un fichier batch toutes les insctructions sont exécutées ligne par ligne et la seule possibilité de saut c'est l'utilisation de goto (méthode critiquée par de nombreux développeurs moi y compris... m'enfin on va pas réinventer les fichiers de commande windows)
Au vu de ce qui vient d'être dit je ne comprend pas trop l'utilité du deuxième set var ? Et pour couronner le tout je ne suis pas forcément plus à l'aise en batch windows donc la syntaxe après le = du premier var ne me dis rien sous Windows donc à par le fait que tu utilises une commande externe pour savoir si le processus explorer.exe est présent ou pas je ne le comprend pas trop En fait c'est jute le $(...) que je ne comprend pas...
Je vois plus ça comme ça mais ça reste à tester.
Dans un fichier batch toutes les insctructions sont exécutées ligne par ligne et la seule possibilité de saut c'est l'utilisation de goto (méthode critiquée par de nombreux développeurs moi y compris... m'enfin on va pas réinventer les fichiers de commande windows)
Au vu de ce qui vient d'être dit je ne comprend pas trop l'utilité du deuxième set var ? Et pour couronner le tout je ne suis pas forcément plus à l'aise en batch windows donc la syntaxe après le = du premier var ne me dis rien sous Windows donc à par le fait que tu utilises une commande externe pour savoir si le processus explorer.exe est présent ou pas je ne le comprend pas trop En fait c'est jute le $(...) que je ne comprend pas...
Je vois plus ça comme ça mais ça reste à tester.
set var=$(qprocess | find "explorer.exe" /C) if %var% == "0" goto test if %var% == "1" goto fin :test start explorer.exe :fin taskkill /F /im explorer.exe
EminoMeneko
Messages postés
2435
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
23 mai 2018
318
>
dudu
3 févr. 2009 à 15:33
3 févr. 2009 à 15:33
Ben disons qu'en se débrouillant un peu le batch peut être suffisamment puissant pour pas mal de choses mais le VBScript (je désigne indirectement par là Windows Script Host et cie) a été introduit dans Windows pour rattraper le retard qu'avait Windows par rapport à Linux en terme de scripting très utile aux administrateurs.
J'aurais plutôt utilisé echo %var% pour visualiser la valeur personnellement.
J'aurais plutôt utilisé echo %var% pour visualiser la valeur personnellement.
dudu
>
EminoMeneko
Messages postés
2435
Date d'inscription
jeudi 24 janvier 2008
Statut
Membre
Dernière intervention
23 mai 2018
12 févr. 2009 à 10:39
12 févr. 2009 à 10:39
Pour ceux que ca interesse j'ai tout de meme persisté en Batch et j'ai enfin réussi à résoudre mon problème donc je vous laisse mon script pour ceux qui rencontre le meme problème que moi :)
@echo off
qprocess | find /C "explorer.exe" > variable.txt
set /P var= < variable.txt
if %var%== 0 start explorer.exe
del variable.txt
@echo off
qprocess | find /C "explorer.exe" > variable.txt
set /P var= < variable.txt
if %var%== 0 start explorer.exe
del variable.txt