2010-10-25 5 views
2

J'ai un fichier de commandes (.BAT) et je voudrais capturer sa sortie dans un fichier automatiquement chaque fois qu'il est exécuté. Je sais que je peux utiliser la redirection, mais je ne serais pas capable de la regarder pendant qu'elle tourne. En outre, d'autres personnes utilisent ce fichier batch et je veux que le journal soit créé sans que l'utilisateur doive faire quelque chose de spécial.créer un journal à partir d'un fichier batch

Répondre

2

Té pour les fenêtres? http://www.chipstips.com/?p=129

+0

Est-il possible d'utiliser « tee » sans faire saisir l'utilisateur, il (ce qui signifie: ils courent juste mon fichier de commandes et le fichier batch appelle en quelque sorte « tee » automatiquement – JoelFan

+1

@JoelFan: Oui, il y a un moyen simple: Utiliser un autre fichier batch (ou le même fichier batch en appelant lui-même avec des options différentes). –

2

Si vous êtes défavorable à télécharger ou installer tee vous pouvez utiliser un sous-programme simple pour l'imiter:

rem log <message> 
:log 
echo.%* 
1>>logfile.txt echo.%* 

et puis juste sortie en utilisant call :log Some crazy message. Cela ne fonctionne que pour vos propres messages, cependant, il ne fait rien avec les programmes que vous exécutez à partir de votre lot. Vous pourriez probablement le faire en introduisant un autre sous-programme:

rem runlog <program> <arguments> 
:runlog 
setlocal 
set FN=%RANDOM% 
1>%FN%.tmp 2>&1 %* 
type %FN%.tmp 
1>>logfile.txt type %FN%.tmp 
del %FN%.tmp 
endlocal 
Questions connexes