This bit… searches recursively the directory ‘c:\Samples’ all the files that end with ‘*.cs’.
It then pipes the results to the ‘where-object’ cmdlet, wich filters all files that contain the expression ‘*PropertyDescriptor*’.
After that, it selects the column FullName an redirects the output to the file ‘c:\result.txt’.
The magic part
gci -Path c:\Samples -Recurse -filter *.cs | Where-Object{(gc $_.FullName) -like “*PropertyDescriptor*”} | Select FullName > c:\result.txt