82106
Goto Top

Leerzeichen einfügen nach bestimmten Zeichen

Ich habe viele Textdateien in denen ich ein Leerzeichen zwecks weiterverarbeitung einfügen muss

Die Form der Textdateien ist
123.txt:Text1=1
123.txt:Text2=3
123.txt:Text3=4
123.txt:Text4=2
123.txt:Text5=5


Das ganze soll hinterher so aussehen
123.txt:Text1= 1
123.txt:Text2= 3
123.txt:Text3= 4
123.txt:Text4= 2
123.txt:Text5= 5


wie lässt sich das ganze in Batch umsetzen mit viele Dateien umsetzen ( ein ganzen voller Dateien), mein Gedanke war das es mithilfe einer FOR-Schleife realisierbar ist, nur wie?

gruß

flugi

Content-Key: 123451

Url: https://administrator.de/contentid/123451

Printed on: April 19, 2024 at 10:04 o'clock

Member: bastla
bastla Aug 25, 2009 at 16:33:46 (UTC)
Goto Top
Hallo flugi12 und willkommen im Forum!

Soferne das Leerzeichen immer nach das erste vorkommende "=" gesetzt werden soll (und es keine erhaltenswerten Leerzeilen in der Datei gibt), mit zwei "for"-Schleifen:
@echo off & setlocal
set "Ordner=D:\Test"  
set "Typ=txt"  

pushd "%Ordner%"  
for /f %%i in ('dir /b /a-d *.%Typ%') do (  
    move "%%i" "%%i.bak"  
    for /f "usebackq tokens=1* delims==" %%a in ("%%i.bak") do >>"%%i" echo %%a= %%b  
    del "%%i.bak"  
)
popd
Falls Du die Originaldateien als Sicherung (mit einem zusätzlichen ".bak" im Dateinamen) behalten willst, schreibe einfach ein REM (+ Leerzeichen) vor die Zeile 9.

Grüße
bastla
Mitglied: 82106
82106 Aug 31, 2009 at 19:54:51 (UTC)
Goto Top
Guten Abend,

danke für die schnelle Hilfe, hab die Rückmeldung aufgrund einer Erkältung leider total vergessen.
Es funktioniere, danke nochmals. Du hast mir damit helfen können.

gruß

Flugi