# [Powershell]Zeilen in Datei schreiben / anhängen



## MrCastle (11. Februar 2011)

Hi Community,

eigentlich sollte das Problem ja relativ einfach zu lösen sein, denn mittels


```
"Hier String eingeben" | out-file "C:\datei.txt" -append
```

Müsste eigentlich der vornestehende String an eine Datei angehängt werden, was aber in meinem Fall scheinbar nicht funktionieren will, denn es wird bei jeder neuen Zeile immer nur die eigentliche Zeile ersetzt. Es scheint also als würde der Parameter ignoriert werden, ohne das -append passiert aber garnichts in der Datei.

Wenn ich es mit

```
Add-Content "C:\datei.txt" "Text"
```
probiere passiert das gleiche, allerdings in japanischen und indischen Schriftzeichen, was aber wohl irgendwo an der Kodierung liegt.

Ein möglicher Grund für das Verhalten würde mir einfallen, denn die Aufrufe von "out-file" geschehen nicht ein einem Skript, sondern das Skript wird mehrmals hintereinander aufgerufen, was sich durch den Workflow, in dem das Skript aufgerufen wird, nicht verhindern lässt.

Kennt ihr eine Möglichkeit das zu umgehen oder gibt es evtl. eine Alternative?
Vielen Dank im Voraus.

Gruß
MrCastle


----------



## KaiBone (14. Februar 2011)

Hallo,
wenn du mehrere Zeilen in einem Script in einer Datei schreiben willst bietet es sich doch an dieser erst alle in einen String zuschreiben und dann am Ende in die Datei zu überführen.

```
$text = "Hallo `n"
$text += "Welt "
```
Wenn du eine Zeilenumbruch erzwingen willst musst du das `n verwenden wichtig ist hierbei das es in "" steht und nicht in ''.
Das += bedeutet nur das die der Text an den String an gehangen wird. Am Ende kannst du das ganze dann mit Add-Content oder Set-Content in die Datei schreiben.

Gruß
KaiBone


----------



## rd4eva (15. Februar 2011)

Es gibt noch den >> Operator der die Ausgabe eines Befehls in eine Datei umleitet und anhängt.
Sprich :

```
"Hallo Welt" >> foobar.txt
```

Das dumme daran ist das dabei jedesmal eine neue Zeile begonnen wird bzw. eben jeden Zeile mit {CR}{LF} endet.


----------

