Das kannst du nicht. Normalerweise können Sie dies erreichen, indem Sie ein Wagenrücklaufzeichen (0x0D) in die Datei aufnehmen, wodurch der Cursor wieder auf die erste Spalte in derselben Zeile gesetzt wird. Aber in diesem Fall funktioniert es nicht; Die CR wird nur still gegessen.
Darüber hinaus ist es etwas schwierig, die CR dort hinein zu bringen, und zumindest hier ist ein Texteditor beteiligt. Ich würde vorschlagen, dass Sie ein kleines Hilfsprogramm schreiben, das dies für Sie erledigt. Es ist eigentlich nicht sehr schwer. Das folgende kleine C-Programm könnte ausreichen (wenn Sie keinen Unicode benötigen):
#include <stdio.h>
int main(int argc, char* argv[]) {
if (argc < 2) return 1;
printf("\r%s", argv[1]);
}
Es wird lediglich ein CR-Zeichen und dann der von Ihnen als erstes Argument angegebene Text gedruckt. Verwendung wie folgt:
@echo off
<nul set /P X=Step 1
pause>nul 2>nul
over.exe "Step 2"
Die letzte Zeile ist der Aufruf dieses Programms. Die zweite Zeile ist die normale Stapelsprache zum Drucken von Text ohne Zeilenumbruch (was in diesem Fall wichtig ist, da Sie die Zeile sonst nicht überschreiben könnten). Sie können das obige Programm aber auch an dieser Stelle verwenden.
Ein leicht hackiger Weg, aber der einzige, bei dem Sie sicher sein können, wo Sie landen, ist die Verwendung cls
vor Ihrer Schrittausgabe. Flackert aber so schreibst du immer nach links oben. Und alles blockieren, was in der Konsole sichtbar war (weshalb ich es nicht empfehlen würde); Die meisten Benutzer mögen das nicht so sehr.