I have the following powershell command that recursively loops through all .sql files in a folder ($ScriptFolder) and appends it to another sql file ($TargetFile).
Get-ChildItem -path "$ScriptFolder" -recurse |?{ ! $_.PSIsContainer } |?{($_.name).contains(".sql")} | %{ Out-File -filepath $TargetFile -inputobject (get-content $_.fullname) -Append }
What I would like to do as each .sql is appended to the target file, add text to the target file at the point .sql is appended to it and add text after the .sql is appended to the target file.
I am new to powershell, so could anyone outline how i might do this? Thanks
Best Answer
Here's something that might do the trick for you:
That code will loop through all .sql files recursively, adding their contents to
$targetFile
as you did. It wraps each addition with--Begin <full path>--
and--End <full path>--
. FYI, I pipe the output ofGet-Content
toOut-String
becauseGet-Content
returns an array of objects. If you leave out that pipe, this code will strip newlines from your source files.