1 votes

Windows, comment lancer une commande qui exécuterait automatiquement un fichier toutes les 10 secondes pendant une certaine durée et ajouterait tous les résultats à un fichier journal.

J'ai besoin d'un batch script ou d'un one liner pour lancer un exécutable et ajouter sa sortie de la console à un fichier texte.

J'ai également besoin que le programme tourne en boucle et que la sortie soit envoyée toutes les 10 secondes pendant une durée de 10 minutes, soit 60 fois. À chaque fois, le résultat doit être ajouté à la fin du fichier texte, afin de conserver les résultats précédents.

Disons que l'exécutable s'appelle " C:\monitor.exe "

Merci.

0voto

iTwasnTme Points 5586

Essayez d'utiliser un for /L 60 fois l'exécution et for /f boucle avec timeout 10 secondes :

rem :: for command line :: 
for /L %L in (1 1 60)do start "" /b "cmd /c "C:\monitor.exe" >>"%temp%\file.log" && for /f %i in ('timeout 10 /nobreak 2^>nul')do taskkill /f /t /im "monitor.exe"

rem :: for bat/cmd file :: 
for /L %%L in (1 1 60)do start "" /b "cmd /c "C:\monitor.exe" >>"%temp%\file.log" && for /f %%i in ('timeout 10 /nobreak 2^>nul')do taskkill /f /t /im "monitor.exe"

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X