一般来说,我对 PowerShell 和脚本编写非常陌生,但我需要制作一个脚本来搜索目录,找到具有特定扩展名的所有文件(不包括某些目录中的文件),然后使用文本字符串编辑每个文件。
目前,我可以使用以下命令生成我想要的位置中所有文件的列表,不包括我想忽略的目录:
Get-ChildItem -path C:\path\location\TEST\* -recurse -Exclude ROB | Where-Object { -not $_.PSIsContainer} | where {$_ -notmatch 'ROB'} | ?{$_.name -match “^*.cpp|h$”}
现在我正在努力的是使用add-content
cmdlet 将字符串添加到与我上面的查询匹配的每个文件的底部。我已尝试执行以下操作,但它不起作用:
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
任何帮助,将不胜感激。