Frage Batch-Script-Ausgabe in eine Textdatei ausgeben, ohne zuvor den Speicherort der Batchdatei anzugeben


Ich bin mir bewusst, dass ich die Ausgabe auf diese Weise erhalten kann (um Standard und Fehler zu erfassen):

[batchFilePath] > [logFilePath] 2>&1

Oder so für die Standardausgabe:

C:\MyBatchFile.bat > output.txt

Aber gibt es eine Möglichkeit, dies zu tun, ohne den Speicherort der Batch-Datei selbst anzugeben?

Nehmen wir zum Beispiel an, ich laufe (Doppelklick zum Ausführen) C: \ MyFolder \ MyBatch.cmd und nachdem ich die Batch-Datei beendet habe (oder es schließt) kann ich die Ausgabe in C: \ MyFolder \ MyBatch.txt finden

Wenn ja, welchen Code müsste ich in die Batch-Datei selbst aufnehmen?


4
2017-07-17 12:37


Ursprung




Antworten:


Die einzige Lösung, die ich mir vorstellen kann, ist hinzuzufügen >> output.txt Am Ende jedes Befehls geben Sie etwas aus Ihrer Batch-Datei aus. Es wird die Ausgabe Ihrer Datei am Ende hinzufügen output.txt

Oder erstellen Sie eine zweite Batch-Datei, deren Inhalt wäre .\MyBatchFile.bat > output.txt.


3
2017-07-17 12:46





Schließen Sie Ihre Befehle in runden Klammern ein. MyBatchFile.bat:

@echo off
REM setlocal enabledelayedexpansion
(
echo line one
echo line two
echo line three
) > "%~dpn0.txt"

9
2017-07-17 14:32



Danke, ersparte mir die Mühe, einen Wrapper erstellen zu müssen - AdrianBR