Wie kann ich jedes Auftreten einer Zeichenfolge in einer Datei mit PowerShell ersetzen?

Wie kann ich jedes Auftreten einer Zeichenfolge in einer Datei mit PowerShell ersetzen?

PowerShell ist leistungsfähig genug, um die Datei -Explorer -Operationen wie das Kopieren, Verschieben, Umbenennen oder Löschen einer Datei durchzuführen. Es kann den Inhalt in einer Textdatei lesen und ersetzen, ob eine Zeichenfolge oder ein einzelnes Wort. Insbesondere hat PowerShell solche Befehle, die verwendet werden können, um jede Instanz einer Zeichenfolge zu lesen und zu ersetzen.

Dieses Tutorial zeigt einige Methoden zur Lösung der genannten Abfrage.

So ersetzen Sie jede Instanz einer Zeichenfolge in einer Datei durch Verwendung von PowerShell?

Diese Ansätze können verwendet werden, um die angegebene Abfrage zu beheben:

  • Treffen und Set-in-in-In-Inhalt.
  • Io.Datei.

Methode 1: Verwenden Sie die Methoden „GET-Content“ und „Set-Content“, um jede Instanz einer Zeichenfolge in einer Dokumentdatei zu ersetzen

Dieser Ansatz verwendet zuerst die “Treffen”CMDLET, um die Daten in der Datei abzurufen, und verwendet dann die“Set-In-Inhalt”CMDLET, um das neue Ereignis oder Inhalt zu ersetzen oder zu schreiben. Besonders das “-ErsetzenDer Parameter wird verwendet, um die Instanz einer Zeichenfolge in einer Datei zu ersetzen.

Schauen Sie sich das gegebene Beispiel an, um ein gründliches Verständnis dafür zu erhalten.

Beispiel

Lassen Sie uns zunächst die Dateiversion überprüfen, bevor Sie jedes Ereignis ersetzen. Aus diesem Grund führen Sie das aus “ausTreffen”CMDLET neben dem Dateipfad:

> GET-CONTENT C: \ DOC \ Datei.txt

Lassen Sie uns nun das Wort ersetzen “Katze" mit dem "Hund”:

> (GET-Content C: \ doc \ Datei.txt) -replace 'kat', 'hund' | Set-in-in-in-In-Inhalt C: \ doc \ Datei.txt

Nach dem obigen Befehl:

  • Erstens haben wir die "benutzt"Treffen”CMDLET neben dem Dateipfad innerhalb des invertierten Befehls.
  • Als nächstes fügten wir die "hinzu"-ErsetzenParameter und angegeben zwei Wörter, die durch ein Komma getrennt sind, wobei das erste Wort durch das zweite ersetzt wird.
  • Dann die Pipeline “|"Wird verwendet, um die Ausgabe auf die" zu übertragen "Set-In-Inhalt”Cmdlet als Eingabe.
  • Schließlich wird dieses CMDLET neben dem Dateipfad verwendet, um den Austausch der Zeichenfolge in einer Datei zu bestätigen:

Für die Überprüfung erhalten Sie erneut den Inhalt der ausgewählten Datei:

> GET-CONTENT C: \ DOC \ Datei.txt

Es kann beobachtet werden, dass das Wort “Katze"Wurde durch" ersetzt "Hund" erfolgreich.

Methode 2: Verwenden Sie das System „System“.Io.Datei ”Methode zum Ersetzen jedes Vorkommens/Instanz einer Zeichenfolge in einer Datei

Microsoft's .Netzklasse “Datei”Wird speziell zum Verwalten des Datei -Explorers verwendet. Insbesondere spielt es eine wichtige Rolle beim Ersetzen der Instanz einer Zeichenfolge in einer Datei.

Beispiel

Schauen Sie sich zunächst den Inhalt der “anPhp.txt”:

> GET-CONTENT C: \ DOC \ Php.txt

Führen Sie dann die folgenden Befehle aus:

> $ str = [System.Io.Datei] :: ReadAllText ("C: \ doc \ php.txt").Ersetzen ("Php", "Python")
> [System.Io.Datei] :: WriteAllText ("C: \ doc \ php.txt ", $ str)

Nach dem obigen Code:

  • Zunächst haben wir eine Variable erstellt und dann die „angegeben“Io.Datei" Klasse.
  • Der "ReadAllText ()Methode der genannten Klasse liest den Text in der Datei, während die “Ersetzen()Die Methode ersetzt die ausgewählten Vorkommen in der Textdatei.
  • In der zweiten Zeile haben wir die "benutzt"[System.Io.Datei] :: WriteAlltext ()Methode und fügte den Dateipfad und dann die Variable hinzu, um das angegebene Auftreten in der Datei zu ersetzen:

Lassen Sie uns überprüfen, ob das Wort ersetzt wurde oder nicht. Für

> GET-CONTENT C: \ DOC \ Php.txt

Das Wort "Php"Wurde durch" ersetzt "Python" erfolgreich.

Abschluss

Mit PowerShell kann jedes Vorkommen/Instanz einer Zeichenfolge in einer Datei mit zwei Methoden ersetzt werden, einschließlich “Treffen" Und "Set-In-Inhalt" Und "System.Io.Datei”. Beide Methoden rufen zuerst die Textdatei ab und ersetzen dann das Auftreten des angegebenen Wortes in dieser Textdatei. Dieser Beitrag hat eine gründliche Anleitung zur Lösung des angegebenen Problems vorgestellt.