C#では、RemoveAllFilesByExtenstion
サブルーチンは、たとえば次のようにしてクリアできます。
void RemoveAllFilesByExtenstion(string targetFolderPath, string ext)
{
...
}
のように使用されます:
RemoveAllFilesByExtenstion("C:\Logs\", ".log");
PowerShellスクリプトファイル(ps1)から同じ署名を持つサブルーチンを定義して呼び出すにはどうすればよいですか?
これをPowerShellに変換するのは非常に簡単です。
function RemoveAllFilesByExtenstion([string]$targetFolderPath, [string]$ext)
{
...
}
ただし、呼び出しではスペースで区切られた引数を使用する必要がありますが、文字列にPowerShellの特殊文字がない限り、引用符は必要ありません。
RemoveAllFilesByExtenstion C:\Logs\ .log
OTOH、関数が実行したいことを示している場合、これはPowerShellで簡単に実行できます。
Get-ChildItem $targetFolderPath -r -filter $ext | Remove-Item
PowerShellにはサブルーチンはありません。関数が必要です。
function RemoveAllFilesByExtenstion
{
param(
[string]$TargetFolderPath,
[string]$ext
)
... code...
}
それを呼び出すには:
RemoveAllFilesByExtenstion -TargetFolderPath C:\Logs -Ext *.log
関数が値を返さない場合は、関数内のコマンドから返された結果をキャプチャしてください。