使用 powershell 将文本附加到文件
我有以下 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 附加到目标文件后添加文本。
我是 powershell 新手,所以有人能概述我如何做到这一点吗?谢谢
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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
这里有一些可能对您有用的东西:
该代码将递归地循环遍历所有 .sql 文件,像您一样将它们的内容添加到
$targetFile
中。它用--Begin--
和--End--
包装每个添加内容。仅供参考,我将Get-Content
的输出通过管道传输到Out-String
,因为Get-Content
返回一个对象数组。如果省略该管道,此代码将从源文件中删除换行符。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.