Mehrere Dateieingaben im Stapelbetrieb entfernen Zeilenumbruch

Mehrere Dateieingaben im Stapelbetrieb entfernen Zeilenumbruch

Ich versuche, das Skript zu ändern. Anstatt eine Zeile hinzuzufügen , möchte ich dies für alle Dateien im Verzeichnis file.txttun . Dieses Skript entfernt neue Zeilen und fügt zur Trennung ein Komma hinzu.*.txt

Jede Hilfe ist willkommen.

@echo off
setlocal EnableDelayedExpansion

set "line="


for /F "delims=" %%a in (inputfile.txt) do set "line=!line!,%%a"

echo !line:~1!>>outputfile.txt

Meine Eingabedatei, die ich verwenden möchte, ist die folgende CSV 2019-05-29 08:03:48, NeigungA, 3.420, 19,9, 0,5017, 0,6903 2019-05-29 09:03:48, NeigungB, 3.420, 19,9, 0,3017, 0,6903 2019-05-29 08:03:48, NeigungC, 3.420, 19,9, 0,5017, 0,6903 2019-05-29 09:03:48, NeigungD, 3.420, 19,9, 0,3017, 0,6903 2019-05-29 08:03:48, NeigungE, 3.420, 19,9, 0,5017, 0,6903

Antwort1

Danke für die Klarstellung! Dies sollte Sie in die richtige Richtung führen:

@echo off

set "dir=C:\Your\Directory"
set "dirs=C:\Your\Output\Folder"

setlocal enabledelayedexpansion
for /r "%dir%" %%A in (*.txt) do (
    set "new=%%~nA"
    if exist "%dirs%\!new!.txt" del /f /q "%dirs%\!new!.txt"
    for /f %%B in (%%A) do (
        echo|set /p="%%B,"
    ) >> "%dirs%\!new!.txt"
)

Ich empfehle dringend, einen anderen Ausgabeordner zu haben, es sei denn, Sie möchten Ihre Quell-TXT-Dateien überschreiben – also habe ich mir Folgendes ausgedacht. Die erste Schleife durchläuft alle Ihre TXT-Dateien im angegebenen Verzeichnis ( for /r %dir%) und legt den Namen jeder dieser Dateien als Variable fest new; unmittelbar danach wird geprüft, ob diese newTXT-Datei in Ihrem Ausgabeverzeichnis vorhanden ist, und sie gelöscht – das ist ein entscheidender Schritt, da wir alle Parameter in einer einzigen Zeile >>ausgeben müssen, da alle vorherigen Einträge überschrieben werden. Wenn Sie keine potenziellen TXT-Dateien löschen, die durch vorheriges Ausführen des Skripts erstellt wurden, werden die Einträge in der Zeile dupliziert. Nachdem dies erledigt ist, haben wir eine verschachtelte For-Schleife, die die Informationen aus der Textdatei nimmt und verwendet, um sie alle mit einem in dieselbe Zeile zu setzen . Bei diesem grundlegenden Skript wird es einen Nachspann geben, den Sie vielleicht loswerden möchten oder auch nicht – andernfalls glaube ich, dass dies das gewünschte Ergebnis liefert.%%B>newecho|set /p%%B,,

verwandte Informationen