Powershell目录中搜索文本 Powershell ########################################################### # AUTHOR : Marius / Hican - http://www.hican.nl - @hicannl # DATE : 05-07-2012 # COMMENT : Scan for *.txt files recursively in the root # direct
########################################################### # AUTHOR : Marius / Hican - http://www.hican.nl - @hicannl # DATE : 05-07-2012 # COMMENT : Scan for *.txt files recursively in the root # directory of the script. Compare the contents # of these files to an array of strings, which # are listed in the control file. Output the # successful results to the output file. ########################################################### #ERROR REPORTING ALL Set-StrictMode -Version latest $path = Split-Path -parent $MyInvocation.MyCommand.Definition $files = Get-Childitem $path *.txt -Recurse | Where-Object { !($_.psiscontainer) } $controls = Get-Content ($path + "\control_file.hican") $output = $path + "\output.log" Function getStringMatch { # Loop through all *.txt files in the $path directory Foreach ($file In $files) { # Loop through the search strings in the control file ForEach ($control In $controls) { $result = Get-Content $file.FullName | Select-String $control -quiet -casesensitive If ($result -eq $True) { $match = $file.FullName "Match on string : $control in file : $match" | Out-File $output -Append } } } } getStringMatch
########################################################### # AUTHOR : Marius / Hican - http://www.hican.nl - @hicannl # DATE : 05-07-2012 # COMMENT : Scan for *.txt files recursively in the root # directory of the script. Compare the contents # of these files to an array of strings, which # are listed in the control file. Output the # successful results to the output file. ########################################################### #ERROR REPORTING ALL Set-StrictMode -Version latest $path = Split-Path -parent $MyInvocation.MyCommand.Definition $files = Get-Childitem $path *.txt -Recurse | Where-Object { !($_.psiscontainer) } $controls = Get-Content ($path + "\control_file.hican") $output = $path + "\output.log" Function getStringMatch { # Loop through all *.txt files in the $path directory Foreach ($file In $files) { # Loop through the search strings in the control file ForEach ($control In $controls) { $result = Get-Content $file.FullName | Select-String $control -quiet -casesensitive If ($result -eq $True) { $match = $file.FullName "Match on string : $control in file : $match" | Out-File $output -Append } } } } getStringMatch
<# " Satnaam WaheGuru Ji" Author : Aman Dhally E-Mail : amandhally@gmail.com website : www.amandhally.net twitter : https://twitter.com/#!/AmanDhally facebook: http://www.facebook.com/groups/254997707860848/ Linkedin: http://www.linkedin.com/profile/view?id=23651495 Date : 13-Sept-2012, 11:43 AM File : Find_Files Purpose : FInd Files Using Powershell Version : 1 #> "`n" write-Host "---------------------------------------------" -ForegroundColor Yellow $filePath = Read-Host "Please Enter File Path to Search" write-Host "---------------------------------------------" -ForegroundColor Green $fileName = Read-Host "Please Enter File Name to Search" write-Host "---------------------------------------------" -ForegroundColor Yellow "`n" Get-ChildItem -Recurse -Force $filePath -ErrorAction SilentlyContinue | Where-Object { ($_.PSIsContainer -eq $false) -and ( $_.Name -like "*$fileName*") } | Select-Object Name,Directory| Format-Table -AutoSize * write-Host "------------END of Result--------------------" -ForegroundColor Magenta # end of the script