ブログの記事から検索

2023年4月25日火曜日

ChatGPTにPowerShell書かせてみた

AIと数回やり取りしたら、脳内デバッグで概ね満足しそうなものができたので、リファレンス片手にがり勉するよりずっと楽。 フローを言語化するスキルさえあれば、十分に使える物ができあがりますね。

code

# 出力するファイルパスを指定
$outfile = "C:\output.csv"

# 検索するフォルダーを指定
$folder = "C:\folder"

# キーワードの入力を促す
$keyword = Read-Host "Enter keyword to search files"  

# 指定したフォルダー以下にあるファイルを再帰的に検索し、キーワードを含むファイルを配列に追加する
$files = Get-ChildItem -Path $folder -Include "*$keyword*" -Recurse | Where-Object { $_.Name -like "*$keyword*" }

# 空の配列を作成
$output = @()

# 各ファイルからデータを読み込み、最終行の2番目と6番目のカラムを取得して配列に追加する
foreach ($file in $files) {
    $data = Import-Csv $file.FullName
    $output += $data[-1].Column2, $data[-1].Column6
    $output += "`r`n"  # 入力ファイルが変わる度に改行を追加する
}

# 出力データをCSVファイルに書き込む
$outfile = New-Item -ItemType File $outfile
$output | ForEach-Object { $outfile.WriteLine($_) }