2011-09-28 233 views
3

我有以下Powerhell命令递归循环通过文件夹($ ScriptFolder)中的所有.sql文件并将其附加到另一个SQL文件($ TargetFile)。将文本追加到PowerShell文件

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

我想怎么办,因为每个.SQL被附加到目标文件,添加文本在点.SQL目标文件附加到它和.SQL追加到后面添加文本目标文件。

我是新来的powershell,所以任何人都可以概述我可以这样做吗?由于

回答

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>--。 FYI,我管输出Get-ContentOut-String,因为Get-Content返回一个对象数组。如果您不使用该管道,则此代码将从源文件中剥离换行符。

+0

真棒,你救了我的宝贝 –