powershell脚本将单词附加到文本文件的开头

时间:2011-11-15 20:03:04

标签: powershell

我有这个代码,它将“segment99”附加到文本文件的开头,并重新创建具有相同名称加后缀“_99”的整个文件。我有两个问题:1)需要很长时间才能运行。 2)修改文件的内容 - 如格式化和特殊字符,如小方块(在记事本中打开时看起来像小方块)。

我现在正在使用的代码:


Begin
{
$PathData = '<<ESB_Data_Share_HSH>>\RwdPnP'
Get-ChildItem $PathData -Filter '*.txt' | %{
$Start = $true
Get-Content $_.FullName | .{Process{
    if ($Start) {
        '"segment99"' + $_
        $Start = $false
    }
    else {
        $_
    }
 }} | Set-Content ($_.FullName -replace '\.txt$', '_99.txt')
}
}

请建议一个新代码,当给定目标文件夹时应该: -catch第一个文件,将“segment99”附加到第一行的开头(在记事本中打开时左上角),并使用相同名称+“_ 99”作为后缀保存。 - 到下一个文件并执行相同的操作 - 这一直持续到文件夹中的所有文件都被修改

1 个答案:

答案 0 :(得分:0)

请勿使用Get-Content。通过[System.IO.File]::Open() API读取和写入您的文件。读取和写入chunk-by-chunk文件,而不是像Get-Content那样将整个文件加载到内存中。