So concatenieren Sie Dateien mit PowerShell

  1. Verwenden Sie Get-Content und Set-Content, um Dateien mit PowerShell zu verketten
  2. Verwenden Sie Add-Content, um Dateien mit PowerShell zu verketten
  3. Verwenden Sie Out-File, um Dateien mit PowerShell zu verketten
  4. Verwenden Sie den Verkettungsoperator, um Dateien mit PowerShell zu verketten
  5. Fazit
So concatenieren Sie Dateien mit PowerShell

PowerShell ermöglicht Ihnen verschiedene Dateioperationen, wie das Erstellen, Kopieren, Verschieben, Entfernen, Anzeigen und Umbenennen von Dateien. Eine weitere wichtige Funktion ermöglicht es, mehrere Dateien zu einer einzigen Datei zu verketten.

In diesem Artikel werden wir vier Methoden erkunden, um den Inhalt mehrerer Dateien einfach in einer einzigen Datei zu kombinieren: unter Verwendung von Get-Content und Set-Content, unter Verwendung des Add-Content Cmdlets, unter Verwendung des Out-File Cmdlets und unter Verwendung des Verkettungsoperators.

Verwenden Sie Get-Content und Set-Content, um Dateien mit PowerShell zu verketten

Diese Methode nutzt Get-Content, um den Inhalt mehrerer Dateien (file1.txt und file2.txt) zu lesen und dann den kombinierten Inhalt an Set-Content weiterzuleiten, um ihn in eine neue Datei (concatenated.txt) zu schreiben.

Das Set-Content ist ein String-Verarbeitungs-Cmdlet in PowerShell. Es schreibt neuen Inhalt oder ersetzt den Inhalt in einer Datei.

file1.txt:

This is a file1 text file.

file2.txt:

This is a file2 text file.

Code:

Get-Content file1.txt, file2.txt | Set-Content concatenated.txt

In diesem Befehl liest Get-Content file1.txt, file2.txt die Inhalte von file1.txt und file2.txt.

Dann, wenn wir die senkrechte Linie | sehen, ist dies der Pipe-Operator, der die Ausgabe (Inhalte von file1.txt und file2.txt) an den nächsten Teil des Befehls weitergibt.

Schließlich setzt der Befehl Set-Content concatenated.txt den Inhalt der verketteten Dateien in eine neue Datei namens concatenated.txt.

Überprüfen Sie den Inhalt einer Datei concatenated.txt mit Get-Content. Verwenden Sie das unten stehende Befehlsbeispiel.

Get-Content concatenated.txt

Der Get-Content-Befehl liest den Inhalt der angegebenen Datei und gibt ihn auf der Konsole aus. Wenn sich concatenated.txt im aktuellen Verzeichnis befindet, zeigt der Befehl deren Inhalt an.

Stellen Sie sicher, dass Sie concatenated.txt durch den tatsächlichen Pfad zu Ihrer Datei ersetzen, wenn sie sich nicht im aktuellen Verzeichnis befindet.

Wir werden auch Get-Content in den folgenden Methoden verwenden, die besprochen werden, um den Dateiinhalt zu überprüfen und zu bestätigen, ob es richtig funktioniert.

Ausgabe:

This is a file1 text file.
This is a file2 text file.

Es zeigt den zusammengeführten Inhalt von zwei Dateien und automatisiert die neue Zeile pro Datei.

Verwenden Sie Add-Content, um Dateien mit PowerShell zu verketten

Hier wird Get-Content verwendet, um den Inhalt jeder Datei separat zu lesen. Das Add-Content Cmdlet fügt dann den Inhalt der angegebenen Datei (concatenated2.txt) hinzu. Dieser Prozess wird für jede Datei wiederholt.

file1.txt:

This is a file1 text file.

file2.txt:

This is a file2 text file.

Code:

Get-Content file1.txt | Add-Content -Path concatenated2.txt
Get-Content file2.txt | Add-Content -Path concatenated2.txt

Dieser Befehl liest die Inhalte von file1.txt und file2.txt und fügt sie am Ende der bestehenden Datei concatenated2.txt hinzu.

Der | (Pipe)-Operator leitet den kombinierten Inhalt der beiden Dateien an das Add-Content Cmdlet weiter.

Hinweis: Stellen Sie sicher, dass die Dateipfade korrekt sind und dass Sie die erforderlichen Berechtigungen haben, um von file1.txt und file2.txt zu lesen und in concatenated2.txt zu schreiben.

Überprüfen Sie den Inhalt einer Datei concatenated2.txt mit Get-Content.

Get-Content concatenated2.txt

Ausgabe:

This is a file1 text file.
This is a file2 text file.

Es zeigt den zusammengeführten Inhalt von zwei Dateien und automatisiert die neue Zeile pro Datei.

Verwenden Sie Out-File, um Dateien mit PowerShell zu verketten

Das Out-File Cmdlet sendet die Ausgabe an eine Datei. Wenn die Datei nicht existiert, wird eine neue Datei im angegebenen Pfad erstellt.

Um Dateien mit Out-File zu verketten, müssen Sie das Get-Content Cmdlet verwenden, um den Inhalt einer Datei abzurufen. Normalerweise zeigt Get-Content die Ausgabe in der Konsole an.

Sie müssen die Ausgabe an Out-File weiterleiten, damit sie die Ausgabe an eine angegebene Datei sendet. Das folgende Beispiel kombiniert den Inhalt zweier Dateien in eine concatenated3.txt.

file1.txt:

This is a file1 text file.

file2.txt:

This is a file2 text file.

Code:

Get-Content file1.txt, file2.txt | Out-File concatenated3.txt

Der obige Befehl überschreibt den Inhalt von concatenated3.txt mit dem kombinierten Inhalt von file1.txt und file2.txt. Wenn concatenated3.txt nicht existiert, wird sie erstellt.

Im Vergleich zur vorherigen Methode fügt Add-Content die bestehende Datei hinzu, während Out-File sie überschreibt.

Führen Sie den folgenden Befehl aus, um den Inhalt einer Datei concatenated3.txt zu überprüfen.

Get-Content concatenated3.txt

Ausgabe:

This is a test1 file.
This is a test2 file.

Wie Sie sehen können, sind die Inhalte von sowohl test1.txt als auch test2.txt nach concatenated3.txt kopiert worden.

Wenn Sie alle .txt-Dateien im Verzeichnis verketten möchten, können Sie *.txt verwenden, um alle Dateien mit der .txt-Erweiterung im Verzeichnis auszuwählen.

Get-Content *.txt | Out-File concatenated3.txt

Verwenden Sie den Verkettungsoperator, um Dateien mit PowerShell zu verketten

In dieser Methode verknüpft der +-Operator die Inhalte von file1.txt und file2.txt, bevor sie an Set-Content zum Schreiben in die Zieldatei (concatenated4.txt) weitergeleitet werden.

file1.txt:

This is a file1 text file.

file2.txt:

This is a file2 text file.

Code:

(Get-Content file1.txt -Raw) + "`r`n" + (Get-Content file2.txt -Raw) | Set-Content concatenated4.txt

Der + "`r`n" + Teil wird verwendet, um Zeichenfolgen zu verketten.

In diesem Fall fügt es ein Wagenrücklaufzeichen ("r") und ein Zeilenumbruchzeichen ("n") zwischen dem Inhalt von file1.txt und file2.txt hinzu. Dies stellt sicher, dass die Inhalte der beiden Dateien beim Kombinieren in separaten Zeilen stehen.

Überprüfen Sie den Inhalt einer Datei concatenated4.txt mit Get-Content.

Get-Content concatenated4.txt

Ausgabe:

This is a file1 text file.
This is a file2 text file.

Es zeigt den zusammengeführten Inhalt von zwei Dateien und wird durch das + "`r`n" + unterstützt, um eine neue Zeile pro Datei hinzuzufügen.

Fazit

Das Verketten von Dateien in PowerShell ist eine vielseitige Aufgabe, und die Wahl der Methode hängt von Ihren spezifischen Anforderungen ab.

Ob Sie die Einfachheit der Get-Content und Set-Content Pipeline, die explizite Natur von Add-Content und Out-File oder die prägnante Syntax des Verkettungsoperators bevorzugen, PowerShell bietet mehrere Optionen, die Ihren Bedürfnissen entsprechen.

Das Verständnis dieser Methoden befähigt Sie, Datei-Inhalte in verschiedenen Szenarien effizient zu manipulieren und zu verwalten.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website

Verwandter Artikel - PowerShell File