今日はChatGPTに書いてもらったソースコードステップカウンターについて公開する。
 とりあえず合計値が分かればいいや的発想。
拡張子とフォルダを指定し、下位フォルダも含め再帰的に処理する。
 以下がそれである。
function Get-SourceCodeStepCount {
    param(
        [Parameter(Mandatory = $true)]
        [ValidateScript({ Test-Path $_ -PathType 'Container' })]
        [string]$Path
    )
    #拡張子選択
    $sourceExtensions = @('*.pl', '*.pm', '*.cgi')
    $totalSteps = 0
    $sourceFiles = Get-ChildItem -Path $Path -Recurse -File -Include $sourceExtensions
    foreach ($file in $sourceFiles) {
        $lineCount = (Get-Content -Path $file.FullName -Encoding UTF8 | Measure-Object -Line).Lines
        $totalSteps += $lineCount
    }
    Write-Output "Total Steps: $totalSteps"
}
# 実行ディレクトリ指定&実行
Get-SourceCodeStepCount -Path "C:\Users\hogehoge\"
$sourceExtensions = @(‘*.pl’, ‘*.pm’, ‘*.cgi’) に拡張子を指定する。
 Get-SourceCodeStepCount -Path “C:\Users\hogehoge\” でフォルダパスも指定する。
後はキックバッチでこれを流せば完成。ね、簡単でしょ。
 以下にキックバッチの一例も示す。
@echo off powershell -ExecutionPolicy RemoteSigned %~dp0\FileStepConut.ps1 PAUSE
FileStepConut.ps1は前述のPowerShellスクリプトを保存した名前。
 PAUSEで画面が止まるので、ここで総ステップ数を確認できる。
 後はbatをポチる1クリックで済むので便利なモジュールだと思う。
ちなみにUTF-8用なので他の文字コードだったら
 -Encoding UTF8 の部分を変更願う。あと使用は自己責任で!