Wenn Sie sich in der CLI befinden, können Sie mit einer FOR-Schleife tun, was Sie wollen:
for /F "delims=" %a in ('dir') do @echo %a && echo %a >> output.txt
Ressource unter Windows CMD für Schleifen: https://ss64.com/nt/for_cmd.html
Der Schlüssel hier ist, die Begrenzer (Begrenzungen), die jede Ausgabezeile aufteilen würden, auf nichts zu setzen. Auf diese Weise wird die Standardeinstellung für Leerzeichen nicht unterbrochen. % A ist ein beliebiger Buchstabe, wird jedoch im Abschnitt "do" verwendet, um ... etwas mit den Zeichen zu tun, die in jeder Zeile analysiert wurden. In diesem Fall können wir das kaufmännische Und (&&) verwenden, um den 2. Echo-Befehl auszuführen, um eine Datei unserer Wahl zu erstellen oder an diese anzuhängen (>>). Es ist sicherer, diese Reihenfolge der DO-Befehle beizubehalten, falls beim Schreiben der Datei ein Problem auftritt. Zumindest wird das Echo zuerst an die Konsole gesendet. Das at-Zeichen (@) vor dem ersten Echo verhindert, dass die Konsole den Echo-Befehl selbst anzeigt, und zeigt stattdessen nur das Ergebnis des Befehls an, der die Zeichen in% a anzeigt. Sonst würden Sie sehen:
echo Lautstärke in Laufwerk [x] ist Windows
Lautstärke in Laufwerk [x] ist Windows
UPDATE: / F überspringt leere Zeilen und behebt nur die Vorfilterung der Ausgabe, indem jeder Zeile ein Zeichen hinzugefügt wird (möglicherweise mit Zeilennummern über den Befehl find). Das Lösen in CLI ist nicht schnell oder hübsch. Außerdem habe ich STDERR nicht eingeschlossen, daher werden hier auch Fehler erfasst:
for /F "delims=" %a in ('dir 2^>^&1') do @echo %a & echo %a >> output.txt
Fehlermeldungen umleiten
Die Carets (^) dienen dazu, den Symbolen nach ihnen zu entkommen, da der Befehl eine Zeichenfolge ist, die interpretiert wird, anstatt sie direkt in die Befehlszeile einzugeben.