Powershell经历了3个小时......
场景:需要在多个文件夹和子文件夹中的多个ASPX文件的顶部添加一行代码
这可能吗?
我已经想出如何搜索文件,但添加那行代码是我遇到的问题。 这就是我所拥有的,这是行不通的
Get-ChildItem C:\domain_3 -recurse -include "*.aspx" |
Foreach-Object {
Add-Content -Path $targetFile -Value "<%@ Page Language="C#" Inherits="LandingPages.LandingPage" %>";
}
谢谢大家
答案 0 :(得分:6)
$header=@"
"<%@ Page Language="C#" Inherits="LandingPages.LandingPage" %>
"@
Get-ChildItem C:\domain_3 -Recurse -Filter *.aspx | Foreach-Object {
$header`n" + (Get-Content $_.FullName | Out-String) | Set-Content -Path $_.FullName
}
答案 1 :(得分:0)
试试这个(我现在不能测试)
创建一个函数:
function Insert-Content ($file) {
BEGIN {
$content = Get-Content $file
}
PROCESS {
$_ | Set-Content $file
}
END {
$content | Add-Content $file
}
}
然后使用它:
(dir c:\domain_3 -r -filter *.txt ) | % { '<%@ Page Language="C#" Inherits="LandingPages.LandingPage" %>' | insert-content $_.fullname }
答案 2 :(得分:0)
这适用[不太确定编码部分]
$file="F:\Default2.aspx"
$content = Get-Content $file
$content = "<%@ Page Language=`"C#`" Inherits=`"LandingPages.LandingPage`" %>" + $content;
Set-Content $file $content