Powershell, using contains to check if files contain a certain word

后端 未结 3 1251
醉话见心
醉话见心 2021-01-12 12:44

I am trying to create a powershell script which looks through all files and folders under a given directory it then changes all instances of a given word in .properties file

3条回答
  •  甜味超标
    2021-01-12 13:05

    The simplest way to check that file contains the word

    If we are looking at Get-Content result we find string System.Array. So, we can do like in System.Linq in .NET:

    content.Any(s => s.Contains(wordToFind));
    

    In PowerShell it looks like:

    Get-Content $filePath `
                | %{ $res = $false } `
                   { $res = $res -or $_.Contains($wordToFind) } `
                   { return $res }
    

    As a result, we can aggregate it in cmdlet with params of file path and containing word and use it. And one more: we can use Regex with -match instead of Contains, so it will be more flexible.

提交回复
热议问题