search
top

How To Find A String in a File With PowerShell

Introduction

So you have a need to have PowerShell to look for a string in a file and create and entry if it doesn’t find it and do nothing if it does.  For my example I am installing an application and I need to add three lines of content, but if it exists I do not want duplicate entries created.

The Code

There are probably other ways to achieve the goal, but my idea was to use Get-Content and read the file and search for  my string. The goal is to use variables where we can, to make the code easily re-usable, find our string and if not found add a few lines.

We will create two variables, one called $FileName for the file to search and one called $wordToFind and define them.

$FileName = "C:\uc4g5\SMgr\bin\UCYBSMgr.ini"
$wordToFind = "[Destination UC4Q9GAI]"

Now we are ready to use If statement to with Get-Content to search for our string. If found just write out nothing needed to be done and leave, but if not found add a few lines to the file.

If((Get-Content $FileName).Contains($wordToFind))
{
Write-Host "No edits needed"
} Else
{
Add-Content -Path $FileName -Value "" -Encoding ASCII
Add-Content -Path $FileName -Value "[Destination UC4Q9GAI]" -Encoding ASCII
Add-Content -Path $FileName -Value "deffile=*OWN\UC4Q9GAI.smd" -Encoding ASCII
Add-Content -Path $FileName -Value "cmdfile=*OWN\UC4Q9GAI.smc" -Encoding ASCII
}

Not much to it. Script does exactly as planned  and is re-usable due to the variables.

Conclusion

By using the Get-Content cmdlet with If statement we were able to look for a string in a file and add or do nothing.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.

top
Life of a Geek Admin
Privacy Overview

This website uses cookies so that we can provide you with the best user experience possible. Cookie information is stored in your browser and performs functions such as recognising you when you return to our website and helping our team to understand which sections of the website you find most interesting and useful.