Задать вопрос
@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


Могу ли я каким-нибудь образом произвести ту же замену, но во всех файлах, которые находятся в текущей директории, включая вложенные в другие директории?
Сами файлы могут меняться поэтому заранее все пути прописать будет не самым удобным способом.
  • Вопрос задан
  • 119 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Системный администратор с нуля
    6 месяцев
    Далее
  • Stepik
    PowerShell для начинающих: Основы для IT-специалистов
    1 неделя
    Далее
  • Skillbox
    Профессия Специалист по информационной безопасности
    12 месяцев
    Далее
Решения вопроса 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)"}
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы