J'ai vérifié avec mon mastic et en cas d'échec, il ne maintiendra aucun lien de sorte que vous ne pourrez pas voir sur "netstat "sortie de commande et si vous ne le trouvez pas dans cette sortie, cela signifie que la connexion a échoué ou vient de se terminer. Alors je me suis dit que vous pourriez faire quelque chose comme ça sur votre lot kill:
timeout 20
SET tempfl=c:\windows\temp\netstatresult.txt
netstat -aonb>%tempfl%
for /f "delims=" %i in ('findstr /i /C:putty %tempfl%') do SET output=%i
if NOT DEFINED %output% taskkill /f /im putty.exe
del %tempfl%
Donc, ce écrit la sortie de netstat à un fichier temporaire, après que nous vérifions si la sortie du commmand contient le mastic de sous-chaîne en utilisant findstr. Si findstr a eu des résultats la variable sortie est définie avec la valeur sinon elle ne sera pas définie, donc s'il y a une valeur, cela signifie que putty est en cours d'exécution et vous n'avez pas à le tuer et s'il y a n'est pas vous pouvez tuer le processus de mastic.
Ensuite, il y a juste un simple si taskkill fonctionne si la variable n'est pas définie, puis le fichier temporaire créé est supprimé.
Juste en vous assurant si vous ne savez pas ce que netstat est utilisé pour: https://commandwindows.com/netstat.htm
Donc, fondamentalement, vous voulez vérifier wheter Runns mastic correctement ou non, non? Et si vous voyez que ça s'est coincé, vous voulez tuer le fichier batch qui tuerait le processus de mastic? Je suggère: Exécuter putty à partir de la ** commandline ** comme vous le faites avec votre premier fichier batch maintenant (-> juste la ligne inférieure). Si le mastic agit correctement et est fait quoi qu'il fasse, tapez 'echo% ERRORLEVEL%' et appuyez sur [Entrée]. Si la valeur est différente de 0, je pense que je peux aider. Ce serait mon chemin si ... – geisterfurz007