在powershell中保存已编辑的文件

时间:2013-04-22 10:31:22

标签: powershell

到目前为止,我正试图将所有.aspx / aspx.cs文件中的CodeFile替换为CodeBehind

$FileLocation = "F:\Code\trunk\Source\"

$FindAllItems = Get-ChildItem $FileLocation -Rec -Inc *.aspx,*.aspx.cs 

foreach ($file in $FindAllItems)
{

  foreach($line in @(Get-Content $file))
   {       
     if ($line -match  "CodeFile")
     {  
        Write-Host $line
        Write-Host "Renaming CodeFile to CodeBehind"
        $replacedLine = $line.Replace("CodeFile", "CodeBehind")
        Write-Host "edited line:" $replacedLine
        Write-Host "Saving change, naming" $file.fullname
     }         

   }    
}
Write-Host "Done"

如何在这种情况下使用.save参数或提交编辑的最佳方法是什么?

更新:

在被告知Set-Content之后,我重新编写了脚本,下面是工作代码。

$FileLocation = "F:\Code\trunk\Source\"

$FindAllItems = Get-ChildItem $FileLocation -Rec -Inc *ascx,*ascx.cs

foreach ($file in $FindAllItems)
{

(Get-Content $file) | 
Foreach-Object {$_ -replace "CodeFile", "CodeBehind"} | 
Set-Content $file

}
Write-Host "Done"

1 个答案:

答案 0 :(得分:1)

1&的可能重复2。 您可以使用Set-Content Cmdlet提交更改。请参阅示例和解释here