Finding a string in a text file and reporting full file name and size
Using findstr in PowerShell is superfluous and
not very powershell'ish which is about objects and pipes.

You can directly pipe the raw output of Get-ChildItem to Select-String and parse the resulting object for the information you require.

As the size of the file isn't contained in the properties sls returns:

Context      Property
Filename     Property
IgnoreCase   Property
Line         Property
LineNumber   Property
Matches      Property
Path         Property
Pattern      Property


You've to append it, either with a calculated property 

# Grab user options
$ext = Read-Host -Prompt        "Enter extension   "
$huntString = Read-Host -Prompt "Enter hunt string "

Get-ChildItem *.$ext -Recurse | Select-String $huntString -List | 
    Select-Object @{Label='Size';Expression={(Get-Item $_.Path).Length}},Path


or iterate the output and build a [PSCustomObject]:

Get-ChildItem *.$ext -Recurse | Select-String $huntString -List | 
    ForEach-Object {
        [PSCustomObject]@{
            Path = $_.Path
            Size = (Get-Item $_.path).Length
        }
    }


The objectsoutput will be the very same:

&gt; Q:\Test\2018\12\17\CR_209811.ps1
Enter extension   : ps1
Enter hunt string : ::Now
Size Path
---- ----
 878 Q:\Test\2018\09\18\SO_52381514.ps1
 677 Q:\Test\2018\11\16\SO_53336923.ps1
 770 Q:\Test\2018\11\19\SO_53381881.ps1
1141 Q:\Test\2018\12\17\CR_209811.ps1
1259 Q:\Test\2018\12\17\SU_1385185.ps1