用于将文本添加到现有aspx文件的powershell脚本

用于将文本添加到现有aspx文件的powershell脚本,powershell,Powershell,我正在尝试查找资源,以帮助我编写powershell脚本,将文本添加到现有的aspx文件中,但似乎找不到任何内容。有人有什么建议吗?或者有人能帮我做些别的吗 更新:我现在使用的是1.0版 我有: $lines = Get-Content foo.aspx $lines = "<head>asfdsfsafd</head>" + $lines $lines | Out-File "c:\documents and settings\...\foo.aspx" -Enco

我正在尝试查找资源,以帮助我编写powershell脚本,将文本添加到现有的aspx文件中,但似乎找不到任何内容。有人有什么建议吗?或者有人能帮我做些别的吗

更新:我现在使用的是1.0版

我有:

$lines = Get-Content foo.aspx

$lines = "<head>asfdsfsafd</head>" + $lines

$lines | Out-File "c:\documents and settings\...\foo.aspx" -Encoding utf8 
但希望文本位于aspx文件的开头

更新:我找到了一个可以执行我想要的操作的函数,我已经准备好了。

您可以使用
get content
获取ASPX文件的内容(字符串数组):

$lines = Get-Content foo.aspx
或者,您可以将内容作为单个字符串获取,如果您希望使用跨行的正则表达式,则该字符串有时更有用:

$content = Get-Content foo.aspx -raw
至于更改内容,您有各种选择:

$content = "text before " + $content
$content += "text after"
$content = $content -replace 'regex pattern','replacement text'
然后写回文件:

$content | Out-File foo.aspx -Encoding <UTF8 or ASCII or UNICODE>
$content |输出文件foo.aspx-编码

这很奇怪。你为什么要这个?你能解释一下吗?制作一个从数据库读取文本的aspx文件并创建更新DB中文本的东西(理想情况下是另一个aspx)不是更容易吗?当我运行
$lines=Get Content foo.aspx
时,正如你所说,它为我提供了一切。但是,当我运行
$content=Get content foo.aspx-raw时,我得到
Get content:找不到与参数名称“raw”匹配的参数。在C:\..
我想我找到了我的答案,这是因为
raw
的版本与我使用的版本不同。我使用的是1.0版。我是否可以使用与此版本等效的命令?真的是1.0吗?:-)您可以使用
$content=[io.file]::ReadAllText($pwd\foo.aspx”)
。这很有效,但它实现了
Get content foo.aspx
的功能,并为我提供了一切。这不是跨越线?是的,有一个报价丢失-修复。是的,替换文本替换了正则表达式模式指定的内容。WRT single string对象,是的,每一行由CRLF字符分隔,放入一个字符串中。如果您的正则表达式跨单独的行匹配文本,那么这是必需的。
$content | Out-File foo.aspx -Encoding <UTF8 or ASCII or UNICODE>