@Quttar72
Изучаю asp.net core mvc

Как с помощью PowerShell произвести замену во всех файлах определенной директории?

Я могу произвести замену в файле text.txt, который находится в текущей директории

$txt = Get-Content -Path text.txt
$txt = $txt -replace "a", "x"
Set-Content -Path text.txt -Value $txt


Могу ли я каким-нибудь образом произвести ту же замену, но во всех файлах, которые находятся в текущей директории, включая вложенные в другие директории?
Сами файлы могут меняться поэтому заранее все пути прописать будет не самым удобным способом.
  • Вопрос задан
  • 44 просмотра
Решения вопроса 1
@BeatHazard
Добрый день.
Можете использовать для этого такую конструкцию:
$Files = Get-Childitem -path "C:\Test Install" -recurse | Where-Object {$_.Extension -eq ".txt"}
foreach ($file in $Files)
{
$txt = Get-Content -Path $file.FullName
$txt = $txt -replace "a", "x"
Set-Content -Path $file.FullName -Value $txt
}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@mumische
Get-ChildItem -Path c:\temp -Filter *.txt -Recurse | ForEach-Object {Write-Output "Тут делаем что угодно, путь к файлу $($_.FullName)"}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы