Edytory tekstowe, takie jak Notepad oraz Notepad++, są wykorzystywane do tworzenia wielu rodzajów plików, w tym napisów, plików dziennika, skryptów wsadowych, skryptów PowerShell i innych. Jeśli dany edytor umożliwia tworzenie tych plików, to również je edytuje. W przypadku, gdy masz wiele plików tekstowych z rozszerzeniem TXT i potrzebujesz zamienić w nich jedno lub kilka słów, możesz to zrealizować za pomocą skryptu PowerShell. Dzięki temu skryptowi nie musisz otwierać każdego pliku z osobna, aby wprowadzić zmiany. Możesz także zastosować ten sam skrypt do innych typów plików, które można utworzyć w edytorze tekstowym. Poniżej przedstawiamy instrukcję, jak zamienić słowo w wielu plikach tekstowych.
Zamiana słowa w plikach tekstowych
Na początek umieść wszystkie pliki tekstowe w tym samym folderze. Po uruchomieniu skryptu, system sprawdzi tylko jeden katalog, dlatego wszystkie pliki muszą znajdować się w jednym miejscu.
Otwórz nowy plik w Notatniku i wklej poniższe komendy.
Get-ChildItem 'Ścieżka-do-plików*.txt' -Recurse | ForEach { (Get-Content $_ | ForEach { $_ -replace 'Oryginalne-Słowo', 'Nowe-Słowo' }) | Set-Content $_ }
Konieczne będzie dostosowanie powyższego skryptu. Po pierwsze, zmień część „Ścieżka-do-plików”, aby wskazywała na rzeczywistą lokalizację folderu z plikami tekstowymi. Następnie zamień „Oryginalne-Słowo” na słowo, które chcesz zastąpić, a „Nowe-Słowo” na słowo, które ma zastąpić stare. Na przykład, jeśli masz kilka plików, które zawierają słowo „Post”, a chcesz je zamienić na „Artykuł”, skrypt będzie wyglądał następująco po modyfikacji.
Get-ChildItem 'C:UsersfatiwDesktopnotepad-files*.txt' -Recurse | ForEach { (Get-Content $_ | ForEach { $_ -replace 'Post', 'Artykuł' }) | Set-Content $_ }
Po dostosowaniu skryptu, zapisz go z rozszerzeniem .ps1. Pamiętaj, aby w oknie dialogowym „Zapisz jako” zmienić typ pliku na „Wszystkie pliki”. Po uruchomieniu skryptu, zostanie przeprowadzona zamiana słów.
Jeśli chcesz zastosować ten sam skrypt do plików XML lub LOG, wystarczy zmienić rozszerzenie pliku w pierwszej linii. Na przykład,
Oto jak to zmienić:
Get-ChildItem 'C:UsersfatiwDesktopnotepad-files*.txt'
Na:
Get-ChildItem 'C:UsersfatiwDesktopnotepad-files*.xml'
Warto również wiedzieć, że ten skrypt nie rozróżnia słów. Na przykład, jeśli chcesz zamienić każde wystąpienie „the” na „a”, skrypt zamieni także „the” w słowach takich jak „tych” czy „tam”. To jest jedna z ograniczeń tego rozwiązania. Aby uniknąć tego problemu, możesz skorzystać z Notepad++, który oferuje opcję dopasowania dokładnego słowa.
newsblog.pl