2

Powershell体验3小时...

场景:需要在多个文件夹和子文件夹中的多个ASPX文件的顶部添加一行代码

这可能吗?

我已经想出了如何搜索文件,但添加那行代码是我卡住的地方。这就是我所拥有的,这是行不通的

Get-ChildItem C:\domain_3 -recurse -include "*.aspx" |
Foreach-Object { 
    Add-Content -Path $targetFile -Value "<%@ Page Language="C#" Inherits="LandingPages.LandingPage" %>"; 
}

谢谢你们

4

3 回答 3

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
}
于 2012-06-22T22:00:11.497 回答
0

这有效[对编码部分不太确定]

$file="F:\Default2.aspx"
$content = Get-Content $file
$content = "<%@ Page Language=`"C#`" Inherits=`"LandingPages.LandingPage`" %>" + $content;
Set-Content $file $content 
于 2012-06-22T21:04:37.730 回答
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 }
于 2012-06-22T19:52:21.383 回答