PowerShellソースコードステップカウンターモジュール

今日は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 の部分を変更願う。あと使用は自己責任で!

ブログ主が運営しているゲームです。
こちらよりどうぞ