7_powershellの覚書 grepの作成

これ死ぬほど便利な予感。

 

# Windowを作成するおまじない
$rui = $host.UI.RawUI
$rui.WindowSize = New-Object System.Management.Automation.Host.Size(70,30)

for($true){
write-host "#############################################################"
write-host "# #"
write-host "# GREP検索 #"
write-host "# LASTUPDATE:2021/05/23_2022 #"
write-host "# #"
write-host "#############################################################"
write-host ""
write-host "検索フォルダをドラッグ&ドロップしてエンターキーを押してください。"
$search = Read-Host(">")
write-host ""
Write-Host "検索文字を入力してください"
$word = Read-Host(">")
write-host ""
Write-Host "該当しない行を表示したい場合はNを入力してください"
Write-Host "通常はそのままエンターキーを押してください。"
$exclusion = Read-Host(">")
if($exclusion -eq "N"){
$result = sls $word (dir -recurse $search ) -NotMatch | Tee-Object -file .\search_result.txt
start .\search_result.txt
write-host ""
"結果をバッチの実行場所にsearch_result.txtとして保存しました"
pause
break
}
write-host ""
Write-host "上下の行数を指定してください"
$row = Read-Host(">")
write-host""
$filename = Get-Date -Format "yyyy_MM.dd_HHmmss"
$result = sls $word (dir -recurse $search ) -Context $row | Tee-Object -file .\search_result_$filename.txt
start .\search_result_$filename.txt
write-host ""
"結果をバッチの実行場所にsearch_result_$filename.txtとして保存しました"
write-host ""

 

pause
Clear-Host
}