скрипт powershell для добавления слова в начало текстового файла - PullRequest
0 голосов
/ 16 ноября 2011

У меня есть этот код, который добавляет «сегмент99» в начало текстового файла и воссоздает весь файл с тем же именем и суффиксом «_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')
}
}

, пожалуйста, предложите новый код, который при задании целевой папки должен: -прихватить первый файл, добавить «сегмент99» в начало первой строки (верхний левый угол при открытии вБлокнот) и сохраните его под тем же именем + "_ 99", что и суффикс.-перейти к следующему файлу и сделать то же самое -это продолжается, пока все файлы в папке не будут изменены

1 Ответ

0 голосов
/ 16 ноября 2011

Не использовать Get-Content.Прочитайте и запишите свой файл через [System.IO.File]::Open() API.Чтение и запись файлов по частям вместо загрузки всего файла в память, как это делает Get-Content.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...