2011-09-28 234 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

真棒,你救了我的寶貝 –