- - Как да замените дума в множество текстови файлове на Windows 10

Как да замените дума в множество текстови файлове в Windows 10

Редактори на текстови файлове като Notepad и Notepad ++ саизползва се за създаване на много различни видове файлове като субтитри, лог файлове, пакетни файлове, скриптове на PowerShell и други. Когато текстовият файл редактор може да създаде тези файлове, той също може да ги редактира. Ако имате много текстови файлове, такива, които имат разширение на файла TXT и трябва да замените дума или няколко думи в тях, можете да го направите със скрипт на PowerShell. Сценарият го прави, така че не е нужно да отваряте всеки файл и след това да замествате думата. Можете да използвате същия този скрипт за други типове файлове, които могат да бъдат създадени с редактор на текстови файлове. Ето как можете да замените дума в множество текстови файлове.

Заменете Word в текстови файлове

Първо, трябва да поставите всичките си текстови файлове в една и съща папка. Скриптът ще изследва само една директория, когато се изпълнява, а не цялата ви система, поради което се нуждаете от всички файлове на едно място.

Отворете нов файл на Notepad и поставете следното в него.

Get-ChildItem "Path-to-files*.txt" -Recurse | ForEach {
(Get-Content $_ | ForEach { $_ -replace "Original-Word", "New-Word" }) |
Set-Content $_
}

Трябва да редактирате горния скрипт. Първо, редактирайте частта „Път към файлове“ с действителния път до папката с всички текстови файлове в нея. Второ, заменете „Original-Word“ с думата, която искате да замените. И накрая, заменете „New-Word“ с думата, с която искате да замените старата. Например, имам няколко текстови файла, в които всички имат думата „Публикуване“. Искам да заменя думата Post с Article. Ето как ще изглежда скриптът, след като го редактирах, за да отговаря на моя сценарий.

Get-ChildItem "C:UsersfatiwDesktopnotepad-files*.txt" -Recurse | ForEach {
(Get-Content $_ | ForEach { $_ -replace "Post", "Article" }) |
Set-Content $_
}

След като редактирате скрипта, запазете го сps1 разширение на файла. Уверете се, че сте променили типа на файла от текстови файлове към всички файлове в записа на Notepad като диалогов прозорец. Пуснете скрипта и той ще изпълни функцията за замяна.

Ако искате да използвате същия този скрипт за XML или LOG файлове, редактирайте разширението на файла в първия ред. Например,

Това ще стане

Get-ChildItem "C:UsersfatiwDesktopnotepad-files*.txt"

Това;

Get-ChildItem "C:UsersfatiwDesktopnotepad-files*.xml"

Има едно нещо, което трябва да знаете за товаскрипт; не съвпада думи с думи. Ако търсите да замените всяко възникване на „the“ с „a“, то ще замени „the“ в началото на „тези“ и „там“. Това е недостатък на този сценарий. За да заобиколите, можете да използвате Notepad ++, който има опция за съвпадение.

Коментари