# per Batch zeilenweise Zeichenkette anfügen



## rkrause (3. Februar 2010)

Hi,

möchte per Batch eine Textdatei zeilenweise abarbeiten und bei jeder Zeile eine Zeichenkette vorne und hinten anhängen. Wenn diese Zeichenketten schon vorhanden sind, soll nichts passieren.

Beispiel:

die Txt vorher:
1
2
3
4
5
6


die Txt nachher:
http://www.beispiel.1.beispiel
http://www.beispiel.2.beispiel
http://www.beispiel.3.beispiel
http://www.beispiel.4.beispiel
http://www.beispiel.5.beispiel

Habe es leider schon verzweifelt versucht


----------



## rkrause (3. Februar 2010)

for /F %%a in ('type "%datei_mit_Downloadlinks%"') do echo "%%a"
rem ren "%%a" abc

Bisher sieht es so aus, schaffe es aber irgendwie nicht, den aktuellen Eintrag umzubenennen


----------



## rkrause (3. Februar 2010)

So sieht die momentane Lösung aus, indem ich eine neue Datei erstelle


```
for /F %%a in ('type "%date%"') do echo abcd%%aefgh>>neu.txt
```

Frage: Geht das auch eleganter, indem ich nicht die 2. Datei erstellen muss und wie mache ich das am besten. So würde es ja schon funktionieren!


----------



## deepthroat (4. Februar 2010)

Hi.

Nein, anders wird es nicht gehen.

Für solche Aufgaben sollte man dann doch zu mächtigeren Sprachen greifen, z.B. VBScript welches auf jedem Windows System vorhanden ist, oder PowerShell welches zukünftig die leidigen Batch-Skripte ablösen wird.

Gruß


----------



## rkrause (4. Februar 2010)

danke, nutze es unter Win XP und möchte nicht extra Powershell installieren. Kann gut mit dieser 2. Datei leben, benutze ich halt danach "move"

Das Problem was ich noch habe:
Ich möchte Token mit "&" an den Ziffern anhängen. Diese führen leider zu unerwarteten Ergebnissen und habe die mit "" umschlossen und in die Datei gestellt. Nun suche ich noch verzweifelt an einem Weg, wie ich diese "" aus der Textdatei per Batch bekomme bzw ohne "" in die Batch stelle, da ich dan wieder mit dem "&" kämpfen muss

Ich habe schon dieses "Unmasking" und "sed" verwendet, aber immer nich nichts.

Nee Idee, wie man das geschickt macht


----------



## deepthroat (4. Februar 2010)

rkrause hat gesagt.:


> danke, nutze es unter Win XP und möchte nicht extra Powershell installieren. Kann gut mit dieser 2. Datei leben, benutze ich halt danach "move"
> 
> Das Problem was ich noch habe:
> Ich möchte Token mit "&" an den Ziffern anhängen. Diese führen leider zu unerwarteten Ergebnissen und habe die mit "" umschlossen und in die Datei gestellt. Nun suche ich noch verzweifelt an einem Weg, wie ich diese "" aus der Textdatei per Batch bekomme bzw ohne "" in die Batch stelle, da ich dan wieder mit dem "&" kämpfen muss
> ...


Also, wenn du sed zur Verfügung hast, dann brauchst du doch das ganze Brimborium mit Batch nicht zu versuchen. GNU sed hat in neueren Versionen den -i Schalter mit der Ersetzungen in situ vorgenommen werden.

Du kannst außerdem spezielle Zeichen in der Batch-Datei mit ^ entwerten:

```
echo ^&
```
Gruß


----------



## rkrause (4. Februar 2010)

danke, das hütchen ^& hat geholfen, dooferweise musste auch ^) gesetzt werden. Danke, geht jetzt auch ohne sed


----------

