Je souhaiterait logger dans un fichier la réponse d'une commande "TASKKILL" mais ça ne fonctionne pas avec la procédure habituelle :
TASKKILL /IM MonAppli.exe >> C:\Toto.log
(le fichier "Toto.log" est bien créé ou modifié mais il reste vierge, il ne contient ni le message "Opération réussie : le processus "MonAppli.exe" de PID 3564 a été arrêté." ni le message "Erreur : le processus "MonAppli.exe" est introuvable.")
alors que ça fonctionne (partiellement) pour une commande "XCOPY" :
XCOPY "Source" "Destination" >> C:\Toto.log
(le fichier "Toto.log" est bien créé ou modifié, il contient le message "0 fichier(s) copié(s)" mais il ne contient pas par exemple le message réponse qui précède "Fichier introuvable - Source" !!!)
J'ai essayé aussi d'exécuter un premier batch "Kill1.bat" contenant la commande "cmd /k Kill2.bat" qui appelle le second batch "Kill2.bat" contenant ma commande "TASKKILL /IM MonAppli.exe >> C:\Toto.log" mais pas mieux !!!
Please Help !!!
Comment logger la réponse d'une commande DOS
Modérateur : WIN32-[GG]
Re: Comment logger la réponse d'une commande DOS
Bonjour
vérifie que taskkill est bien présent sur ton systeme
ensuite pour xcopy si mes souvenirs sont bons il faut utiliser les errorlevel pour gérer les erreurs.
vérifie que taskkill est bien présent sur ton systeme
ensuite pour xcopy si mes souvenirs sont bons il faut utiliser les errorlevel pour gérer les erreurs.
Envie de partager vos programmes :
Poster vos codes sur BatchClipboad.info
Poster vos codes sur BatchClipboad.info
Re: Comment logger la réponse d'une commande DOS
Le double chevron >> redirige la sortie standard (stdout), et non la sortie d'erreur (stderr)
1 : c'est la stdout
2 : c'est la stderr
Du coup, si tu veux récupérer seulement les erreurs :
Si tu veux récupérer les 2 :
En gros cette dernière commande redirige le résultat de "TASKKILL /IM MonAppli.exe" vers ton fichier de log, et redirige la stderr vers la stdout. Donc les messages de la stderr vont aussi se retrouver dans ton fichier de log.
Logiquement c'est ça ! Bon courage
1 : c'est la stdout
2 : c'est la stderr
Du coup, si tu veux récupérer seulement les erreurs :
Code : Tout sélectionner
TASKKILL /IM MonAppli.exe 2>> C:\Toto.log
Code : Tout sélectionner
TASKKILL /IM MonAppli.exe >> C:\Toto.log 2>&1
Logiquement c'est ça ! Bon courage