鸿 网 互 联 www.68idc.cn

当前位置 : 服务器租用 > 服务器相关 > 批处理 > >

Powershell目录中搜索文本

来源:互联网 作者:佚名 时间:2015-11-13 08:09
Powershell目录中搜索文本 Powershell ########################################################### # AUTHOR : Marius / Hican - http://www.hican.nl - @hicannl # DATE : 05-07-2012 # COMMENT : Scan for *.txt files recursively in the root # direct
Powershell目录中搜索文本 Powershell
###########################################################  
# 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
网友评论
<