# Batch Programmierung, Dateiinhalt manipulieren



## lindho (27. Juli 2005)

Hallo Leute!

Habe folgendes Problem:
     Ich möchte gerne eine Datei analysieren, ändern und wieder speichern.

Sollte in etwa so aussehen:

Dateiinhalt

textzeile 1 aaaa
textzeile 2 bbbb
textzeile 3 cccc
textzeile 4 dddd

ok. ich suche nach einem bestimmten Wert. z.b. cccc, der steht in Zeile 3 den Wert möchte ich in kkk ändern.

jemand eine Idee wie das ändern funktioniert

lg
Horst


----------



## Tobias K. (27. Juli 2005)

moin


Ich denke für Batchdateien ist das zu hoch.


mfg
umbrasaxum


----------



## Matthias Reitinger (27. Juli 2005)

Könnte man beispielsweise so lösen:

```
ren %1 %1.tmp
for /f "delims=" %%L in (%1.tmp) do if %%L==cccc (echo kkk >>%1) ELSE (echo %%L >>%1)
del %1.tmp
```


----------



## Tobias K. (27. Juli 2005)

moin


 


mfg
umbrasaxum


----------



## lindho (28. Juli 2005)

Hallo Matthias,

danke für Deinen Batch, nur er funktioniert bei mir nicht. in der Datei, die ich übergebe werden die entsprechenden Zeichen nicht ausgetauscht!

lg

Horst

Ps.: Hier ein Auszug aus so einer Datei:

001;Startwert;2548;12548;00250;00000025;0;000;000;0;
002;Endwert;1458;1258;00547;00000025;0;000;000;0;
start prt.lpt
004;Max x; usw.

und da würde ich bestimmte Werte ändern müssen.


----------



## vop (28. Juli 2005)

Unter Linux gibt es sed
Der kann Zeilenweise Datein lesen und ändern. Ist ziemlich mächtig (reguläre Ausdrücke)
http://www.faqs.org/faqs/editor-faq/sed/

Sowas muß es auch irgendwo für windows-Kisten geben.

vop


----------



## lindho (31. Juli 2005)

Hi Leute,

habe dann noch das Programm CHANGE gefunden auf http://guymal.com/techCorner/Batch_File_Syntax.shtml

damit ging es wunderbar, werde aber doch noch mal über eine reine Batchlösung grübeln.

lg

Horst


----------



## Tobias K. (31. Juli 2005)

moin



Ich denke das der Code von Matthias nicht funktioniert, weil in deinem ersten Beispiel die Werte durch Leerzeichen getrennt sind, in dem zweiten aber nicht.


mfg
umbrasaxum


----------



## Matthias Reitinger (31. Juli 2005)

Ich ging davon aus, dass sich jeder Wert in einer einzelnen Zeile befindet. CSV-Dateien zu verarbeiten ohne zusätzliche Tools ist denke ich schwierig. Wobei ich nicht ausschließen will, dass es möglich ist


----------

