スクリプトのパラメータとして指定されたCソースファイルで定義されている関数の名前を抽出する必要があります。私はPowerShellにあまり詳しくありませんが、次のようなものであってはなりません。
If ($FileExists -eq $True)
{
select-string $args[0] -pattern "\(void\|double\|char\|int\) \.*(.*)"
}
スクリプトのパラメータとして指定されたCソースファイルで定義されている関数の名前を抽出する必要があります。私はPowerShellにあまり詳しくありませんが、次のようなものであってはなりません。
If ($FileExists -eq $True)
{
select-string $args[0] -pattern "\(void\|double\|char\|int\) \.*(.*)"
}
検索するファイル拡張子のリストを定義し、それらをIncludeパラメーターで使用してから、パイプでselect-stringに移動し、キャプチャーグループの一致を抽出します。
dir -Path C:\c-program -Include *.h, *.c -Recurse | Select-String -Pattern '(void|double|char|int) (\w+)\(' | % {$_.Matches[0].Groups[2].Value}
ウィキペディアの関数名を使用した定型の例を次に示します。
'void incInt(int *y)','int main(int argc, char* args[])','int subtract(int x, int y)' | Select-String -Pattern '(void|double|char|int) (\w+)\(' | % {$_.Matches[0].Groups[2].Value}