PowerShell jest wystarczająco potężny, aby wykonywać operacje eksploratora plików, takie jak kopiowanie, poruszanie, zmiana nazwy lub usuwanie pliku. Może odczytać i zastąpić zawartość w pliku tekstowym, czy to ciąg, czy jedno słowo. W szczególności PowerShell ma takie polecenia, które można wykorzystać do odczytu i zastąpienia każdej instancji ciągu.
Ten samouczek pokaże kilka metod rozwiązania wspomnianego zapytania.
Jak wymienić każdą instancję ciągu w pliku za pomocą PowerShell?
Podejścia te można zastosować do naprawy określonego zapytania:
Metoda 1: Użyj metod „Get-Content” i „Set-Content”, aby zastąpić każdą instancję ciągu w pliku dokumentu
To podejście najpierw wykorzystuje „Pobierz zawartość”CMDLET do pobrania danych w pliku, a następnie używa„Set-content”CMDLET, aby zastąpić lub napisać nowe zdarzenie lub treść. Szczególnie „„ „„-Zastępować„Parametr służy do zastąpienia instancji ciągu w pliku.
Spójrz na podany przykład, aby dokładnie go zrozumieć.
Przykład
Przede wszystkim sprawdźmy wersję pliku przed zastąpieniem każdego zdarzenia. Z tego powodu wykonaj „Pobierz zawartość”CMDLET obok ścieżki pliku:
> Get-Content C: \ Doc \ Plik.tekst
Teraz wymieńmy słowo „Kot”Z„Pies”:
> (Plik C: \ Doc \.txt) -replace „cat”, „pies” | Set-content c: \ doc \ plik.tekst
Zgodnie z powyższym poleceniem:
W celu weryfikacji ponownie uzyskaj zawartość wybranego pliku:
> Get-Content C: \ Doc \ Plik.tekst
Można zauważyć, że słowo „Kot”Został zastąpiony„Pies" z powodzeniem.
Metoda 2: Użyj „systemu.Io.Plik ”metoda zastąpienia każdego wystąpienia/instancji ciągu w pliku
Microsoft .Klasa netto „Plik”Jest specjalnie używany do zarządzania eksploratorem plików. W szczególności odgrywa istotną rolę w wymianie instancji ciągu w pliku.
Przykład
Najpierw sprawdź treść „php.tekst”:
> Get-content c: \ doc \ php.tekst
Następnie uruchom następujące polecenia:
> $ str = [system.Io.Plik] :: ReadallText ("C: \ doc \ php.tekst").Wymień („PHP”, „Python”)
> [System.Io.Plik] :: writealText ("c: \ doc \ php.txt ", $ str)
Zgodnie z powyższym kodem:
Sprawdźmy, czy słowo zostało zastąpione, czy nie. Dla
> Get-content c: \ doc \ php.tekst
Słowo "php”Został zastąpiony„Pyton" z powodzeniem.
Wniosek
W przypadku PowerShell każde zdarzenie/instancja ciągu w pliku można zastąpić dwiema metodami, w tym „Pobierz zawartość" I "Set-content" I "System.Io.Plik". Obie metody najpierw odzyskują plik tekstowy, a następnie zastąpić występowanie określonego słowa w tym pliku tekstowym. Ten post przedstawił dokładny przewodnik po rozwiązaniu określonego problemu.