добавить текст в файл с powershell - PullRequest
3 голосов
/ 28 сентября 2011

У меня есть следующая команда powershell, которая рекурсивно перебирает все файлы .sql в папке ($ ScriptFolder) и добавляет ее в другой файл sql ($ TargetFile).

Get-ChildItem -path "$ScriptFolder" -recurse |?{ ! $_.PSIsContainer } |?{($_.name).contains(".sql")} | %{ Out-File -filepath $TargetFile -inputobject (get-content $_.fullname) -Append }

Что бы я хотелсделать так, как каждый .sql добавляется к целевому файлу, добавить текст к целевому файлу в точке .sql добавляется к нему и добавлять текст после того, как .sql добавляется к целевому файлу.

Я новичокк PowerShell, так кто-нибудь может обрисовать в общих чертах, как я мог бы сделать это?Спасибо

1 Ответ

5 голосов
/ 28 сентября 2011

Вот кое-что, что может помочь вам:

Get-ChildItem -recurse -include "*.sql" |
Foreach-Object { Add-Content -Path $targetFile -Value "-- Begin $($_.FullName)--`r`n$(Get-Content $_ | Out-String)--End $($_.FullName)--`r`n"; }

Этот код будет рекурсивно перебирать все файлы .sql, добавляя их содержимое в $targetFile, как вы это сделали.Он добавляет к каждому дополнению --Begin <full path>-- и --End <full path>--.К вашему сведению, я передаю вывод от Get-Content до Out-String, потому что Get-Content возвращает массив объектов.Если вы пропустите этот канал, этот код удалит новые строки из ваших исходных файлов.

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