0

スクリプトのパラメータとして指定されたCソースファイルで定義されている関数の名前を抽出する必要があります。私はPowerShellにあまり詳しくありませんが、次のようなものであってはなりません。

If ($FileExists -eq $True)
{
     select-string $args[0] -pattern "\(void\|double\|char\|int\) \.*(.*)"
}
4

1 に答える 1

2

検索するファイル拡張子のリストを定義し、それらを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}
于 2012-04-22T22:33:53.893 に答える