Редактори на текстови файлове като 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 ++, който има опция за съвпадение.
Коментари