ama*_*eur 3 powershell powershell-2.0
我有以下powershell命令,以递归方式循环遍历文件夹($ ScriptFolder)中的所有.sql文件,并将其附加到另一个sql文件($ TargetFile).
Get-ChildItem -path "$ScriptFolder" -recurse |?{ ! $_.PSIsContainer } |?{($_.name).contains(".sql")} | %{ Out-File -filepath $TargetFile -inputobject (get-content $_.fullname) -Append }
Run Code Online (Sandbox Code Playgroud)
我希望做什么,因为每个.sql都附加到目标文件,在该点添加文本到目标文件.sql附加到它并在.sql附加到目标文件后添加文本.
我是powershell的新手,所以任何人都可以概述我如何做到这一点?谢谢
这可能是你的诀窍:
Get-ChildItem -recurse -include "*.sql" |
Foreach-Object { Add-Content -Path $targetFile -Value "-- Begin $($_.FullName)--`r`n$(Get-Content $_ | Out-String)--End $($_.FullName)--`r`n"; }
Run Code Online (Sandbox Code Playgroud)
该代码将递归遍历所有.sql文件,并将其内容添加到$targetFile您的操作中.它用--Begin <full path>--和包装每个添加--End <full path>--.仅供参考,我输出Get-Contentto 的输出Out-String因为Get-Content返回一个对象数组.如果省略该管道,此代码将从源文件中删除换行符.
| 归档时间: |
|
| 查看次数: |
7475 次 |
| 最近记录: |