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

これを試してください(今はテストできません)

関数を作成します。

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 に答える
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 に答える