【发布时间】:2018-12-26 13:45:22
【问题描述】:
我想要一些 .cs 模型文件来附加注释。如果脚本找到特定属性,它将放在该属性注释之上。
这是脚本:
$annotation = "[DatabaseGenerated(DatabaseGeneratedOption.Computed)]"
Get-ChildItem -Filter *.cs | % {
(Get-Content $_.FullName) | ForEach-Object {
if ($_ -match "StartDateTime") {
$_ -replace $_ , "`n`t`t$annotation`n$_"
}
} | Set-Content $_.FullName
}
它适用于替换,但最后我得到一个只有两行(注释和自定义属性)的空白文件。我意识到最后一个管道 Set-Content $_.FullName 搞砸了。 如果我删除 Set-Content,我的文件不会发生任何事情(它没有更新)?
【问题讨论】:
-
您只将匹配的行放入管道中。添加一个 else: else { $_ }
标签: powershell