私は PowerShell とスクリプト全般に非常に慣れていませんが、ディレクトリを検索し、特定の拡張子を持つすべてのファイル (特定のディレクトリ内のファイルを除く) を検索し、それらの各ファイルをテキスト文字列で編集するスクリプトを作成する必要があります。
現在、次を使用して、無視したいディレクトリを除いて、必要な場所にあるすべてのファイルのリストを生成できます。
Get-ChildItem -path C:\path\location\TEST\* -recurse -Exclude ROB | Where-Object { -not $_.PSIsContainer} | where {$_ -notmatch 'ROB'} | ?{$_.name -match “^*.cpp|h$”}
今私が苦労しているのは、add-content
コマンドレットを使用して、上記のクエリに一致する各ファイルの末尾に文字列を追加することです。私は次のことを試みましたが、うまくいきません:
Add-Content {Get-ChildItem -path C:\path\location\TEST\* -recurse -Exclude ROB | Where-Object { -not $_.PSIsContainer} | where {$_ -notmatch 'ROB'} | ?{$_.name -match “^*.cpp|h$”}} "TextString"
これは私が得るエラーです:
+ CategoryInfo : MetadataError: (:) [Add-Content]、ParameterBindingException + FullyQualifiedErrorId : ScriptBlockArgumentNoInput,Microsoft.PowerShell.Commands.AddContentCommand
どんな助けでも大歓迎です。