Out-TextFile

EulandaXtools — Funktionsreferenz

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.