2017-09-28 2 views
0

Ich versuche, eine Stdout, Stderr und Echo-Out-Log-Datei zu erstellen.Erstellen eines Protokolls aus einer Reihe von ausführbaren Dateien batchfile

In einem Aufgabenplaner, rufe ich eine Batch-Datei. sagen bat1.bat bat1.bat ruft andere Batch-Dateien. sag bat1a.bat, bat1b.bat und so weiter.

jede dieser Dateien aufrufen Python-Skripte: python \ UNCshare \ Ordner \ script.py Jobname (es gibt 1200 diese Anrufe über die Batch-Dateien verteilt

so zum Beispiel:.

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.... 

Wie erzähl ich sie alle auf die gleiche Protokolldatei ausgegeben. und zweitens, wie kann ich den Protokolldateinamen festgelegt, so kann ich ein Datum im Dateinamen verwenden?

Dank!

Antwort

1

Ich kenne keine großartige Möglichkeit, dies in Windows Batch-Dateien zu tun. Es ist viel einfacher zu tun, wenn Sie eine andere Technologie verwenden würden. Da Sie bereits Python verwenden, können Sie einen Python-Skript, das von den Task-Scheduler aufgerufen haben, die:

  • eine Datei mit dem Datum im Dateinamen geöffnet
  • verwendet subprocess.Popen Batch-Dateien mit stderr laufen und stdout zu dieser Protokolldatei umgeleitet

ich nichts denken, dass Sie in Batch-Dateien echo geht an stdout

+0

Vielen Dank Sam .... sehen Sie ein Beispiel nennen? Danke noch einmal. – arcee123

Verwandte Themen