Windows-batch-Datei umleiten Ausgabe in logfile mit Datum/Uhrzeit

Ich versuche ausführen einer batch-Datei die ausgeführt wird, eine ausführbare Datei und leitet die Ausgabe in eine log-Datei. Die log-Datei muss das Datum und die Uhrzeit als der name der Datei. Dies ist der Befehl den ich verwende:

"%PROGRAMFILES%\PostgreSQL\9.4\bin\vacuumdb.exe" --username postgres --verbose --analyze --all > E:\Logs\VacuumDB\%date:~10,4%_%date:~4,2%_%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%.log 2>&1

Dieser Befehl funktioniert beim einfügen direkt in cmd. Die log-Datei erstellt, wie erwartet '2015_06_25__11_20_46.log'. Jedoch, es funktioniert nicht, wenn eingefügt in eine batch-Datei, und führen Sie dann im cmd. Cmd interpretiert den Befehl wie folgt:

"C:\Program Files\PostgreSQL\9.4\bin\vacuumdb.exe" --username postgres --verbose --analyze --all  8_21_42.log  1>E:\Logs\VacuumDB\2015_06_26_ 2>&1

Beachten Sie, wie der Dateiname wird abgeschnitten, und jetzt ist die Zeit an den Befehl angefügt Argumente, anstatt in den Dateinamen. So offensichtlich schlägt der Befehl fehl.

Dies ist sicherlich etwas sehr einfach, aber ich habe nicht gefunden, einen Weg, um dieses Problem zu beheben. Jede Hilfe wird sehr geschätzt.

Danke!

versuchen Sie, mit > "E:\Logs\VacuumDB\%date:~10,4%_%date:~4,2%_%date:~7,2%_%time:~0,2%_%time:~3,2%_%time:~6,2%.log" 2>&1

InformationsquelleAutor sixtstorm1 | 2015-06-26

Schreibe einen Kommentar