使用powershell将文本附加到文件

时间:2011-09-28 10:15:33

标签: powershell powershell-v2.0

我有以下powershell命令,以递归方式循环遍历文件夹($ ScriptFolder)中的所有.sql文件,并将其附加到另一个sql文件($ TargetFile)。

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

我希望做什么,因为每个.sql都附加到目标文件,在该点添加文本到目标文件.sql附加到它并在.sql附加到目标文件后添加文本。< / p>

我是PowerShell的新手,所以有人可以概述我是如何做到的吗?感谢

1 个答案:

答案 0 :(得分:5)

这可能对你有所帮助:

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返回了一个对象数组。如果省略该管道,此代码将从源文件中删除换行符。