2017-09-28 1 views
0

J'essaie de créer un fichier journal stdout, stderr et echo out.Création d'un journal à partir d'une série d'exécutables de fichiers batch

Dans un planificateur de tâches, j'appelle un fichier séquentiel. bat1.bat bat1.bat appelle d'autres fichiers batch. disons bat1a.bat, bat1b.bat, et ainsi de suite.

chacun de ces fichiers appellent des scripts python: python \ UNCshare \ dossier \ script.py jobname (il y a 1200 de ces appels répartis dans les fichiers batch

donc par exemple:.

task scheduler calls bat1.bat 
bat1.bat 
|-bat1a.bat 
|-python \\uncshare\folder\script.py jobname 
|-python \\uncshare\folder\script.py jobname 
|-bat1b.bat 
|-python \\uncshare\folder\script.py jobname 
|-python \\uncshare\folder\script.py jobname 
etc.... 

Comment dois-je leur dire à la sortie du même fichier journal. et d'autre part, comment puis-je définir le nom du fichier journal que je peux utiliser une date dans le nom du fichier?

Merci!

Répondre

1

Je ne connais pas un excellent moyen de faire cela dans les fichiers batch Windows. C'est beaucoup plus facile à faire si vous utilisiez une autre technologie. Puisque vous utilisez déjà python, vous pourriez avoir un script python appelé par le planificateur de tâches que:

  • a ouvert un fichier avec la date dans le nom du fichier
  • utilisé subprocess.Popen pour exécuter vos fichiers batch avec stderr et stdout redirigé vers ce fichier journal

Je pense que tout ce que vous écho dans vos fichiers batch iront à stdout

+0

Merci beaucoup Sam .... pouvez-vous donner un exemple? Merci encore. – arcee123