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