Lancer un .bat à partir d'un autre .bat
Résolu
barnabe0057
Messages postés
14455
Date d'inscription
Statut
Contributeur
Dernière intervention
-
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
barnabe0057 Messages postés 14455 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je cherche à automatiser la création d'un tunnel ssh inversé, j'ai donc créée un script batch qui fonctionne très bien.
Maintenant je cherche à contrôler la présence du tunnel, j'ai donc créée un deuxième script qui lance le premier si jamais il ne détecte pas le tunnel :
Voilà le problème : pas moyen de lancer le premier à partir du deuxième, j'ai essayé avec start et avec call.
Merci d'avance pour votre aide.
Je cherche à automatiser la création d'un tunnel ssh inversé, j'ai donc créée un script batch qui fonctionne très bien.
Maintenant je cherche à contrôler la présence du tunnel, j'ai donc créée un deuxième script qui lance le premier si jamais il ne détecte pas le tunnel :
rem @echo off
set PATH=%ProgramFiles(x86)%\PuTTY;%PATH%
set log=%userprofile%\log_plink.txt
rem
rem verification de la presence du tunnel
rem
:check
netstat -b -n | find "plink.exe" > %log%
for /f %%a in (%log%) do (
if %%a==" " start c:\users\barnabe\desktop\plink_short.bat
ping 127.0.0.1 -n 5 -w 4000 > nul
)
goto check
exit
Voilà le problème : pas moyen de lancer le premier à partir du deuxième, j'ai essayé avec start et avec call.
Merci d'avance pour votre aide.
A voir également:
- Lancer un .bat à partir d'un autre .bat
- Creer un fichier .bat - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Bat to exe converter - Télécharger - Édition & Programmation
- Comment faire une recherche à partir d'une photo - Guide
- Identifier un tableau à partir d'une photo - Forum Graphisme
3 réponses
Bonjour,
Normalement, il faut utiliser start (je viens d'essayer avec une boucle simple ça marche), le problème doit donc venir de la condition du if.
Normalement, il faut utiliser start (je viens d'essayer avec une boucle simple ça marche), le problème doit donc venir de la condition du if.
barnabe0057
Messages postés
14455
Date d'inscription
Statut
Contributeur
Dernière intervention
4 925
Le problème provenait du raccourci que je lance avec la commande start, je l'ai renommé en supprimant le .bat à la fin du nom et maintenant la commande start fonctionne.
Voilà le code qui merdouille :
J'ai volontairement modifié et simplifié le code pour mieux identifier le problème.
Merci d'avance pour votre aide.
@echo off
set log=%userprofile%\report.txt
rem
:check
echo nimportequoi > %log%
netstat -b -n | find "firefox.exe" > %log%
rem
for /f %%a in (%log%) do (
if "%%a"=="[firefox.exe]" (goto :check) else (echo la condition fonctionne enfin)
)
goto :check
exit
J'ai volontairement modifié et simplifié le code pour mieux identifier le problème.
Merci d'avance pour votre aide.