Out-TextFile #
ÜBERSICHT #
Schreibt einen String in eine Datei oder konvertiert eine bestehende Datei in ein anderes Encoding.
SYNTAX #
Out-TextFile [-Path] <string> [-Content] <string> [[-Encoding] <string>] [-PreserveLastWriteTime]
BESCHREIBUNG #
Im Modus ‘ByContent’ (Default) schreibt die Funktion den übergebenen String über [System.IO.File]::WriteAllText in eine Datei. Im Modus ‘ByFile’ (ohne -Content) liest sie eine bestehende Datei ein und schreibt sie mit dem gewählten Encoding zurück (In-Place-Konvertierung). Unterstützt drei Encodings: UTF-8 ohne BOM (Default), UTF-8 mit BOM und ANSI. Funktioniert identisch unter PowerShell 5.1 und 7+.
Mit dem Schalter -PreserveLastWriteTime wird das Änderungsdatum der Datei nach dem Schreiben wiederhergestellt. Dies ist nützlich, wenn z. B. nur FrontMatter-Felder aktualisiert werden und kein Upload durch Sync-Tools ausgelöst werden soll. Der Schalter wirkt nur bei bereits existierenden Dateien.
PARAMETER #
-Path #
Type: string
Pfad zur Zieldatei.
-Content #
Type: string
Der zu schreibende Text. Wenn nicht angegeben, wird die bestehende Datei eingelesen und mit dem gewählten Encoding zurückgeschrieben.
-Encoding #
Type: string
Default: 'UTF8'
Das Encoding der Zieldatei. Gültige Werte: UTF8 (ohne BOM, Default), UTF8BOM (mit BOM), ANSI.
-PreserveLastWriteTime #
Type: switch
Wenn gesetzt, wird das Änderungsdatum der Datei nach dem Schreiben wiederhergestellt. Wirkt nur bei bereits existierenden Dateien; bei neuen Dateien wird der Schalter ignoriert.
BEISPIELE #
Out-TextFile -Path .\ausgabe.txt -Content 'Hallo Welt'
Out-TextFile -Path .\script.ps1 -Content $code -Encoding UTF8BOM
Out-TextFile -Path .\script.ps1 -Encoding UTF8BOM
# Konvertiert die bestehende Datei in-place zu UTF-8 mit BOM.
Out-TextFile -Path .\seite.md -Content $neuerInhalt -PreserveLastWriteTime
# Schreibt den Inhalt, behält aber das ursprüngliche Dateidatum bei.