如何在 PowerShell 中添加到文件中?
Posted
技术标签:
【中文标题】如何在 PowerShell 中添加到文件中?【英文标题】:How to prepend to a file in PowerShell? 【发布时间】:2021-06-05 17:37:28 【问题描述】:我正在生成两个文件,userscript.meta.js
和 userscript.user.js
。我需要将userscript.meta.js
的输出放在userscript.user.js
的开头。
Add-Content
似乎不接受要添加的参数,并且Get-Content | Set-Content
将失败,因为userscript.user.js
正在被Get-Content
使用。
如果物理上可能有一个干净的解决方案,我宁愿不创建中间文件。
如何做到这一点?
【问题讨论】:
【参考方案1】:$(
(Get-Content userscript.meta.js -Raw)
(Get-Content userscript.user.js -Raw)
) | Out-File userscript.user.js
如果您的当前目录不是这些文件所在的位置,请考虑使用文件的完整路径。
【讨论】:
不错的答案。我只是好奇,为什么$( ... )
和 @( ... )
?他们在做不同的事情吗?两者似乎都输出一个数组。我只看到 $( ... )
使用的时间是在双引号内
@Daniel 两个子表达式都返回相同的东西 object[]
没有任何区别,这只是我的习惯:P 通常你会使用 @( ... )
来确保结果是 array
和$( ... )
当您希望括号内的结果被视为变量时。但是对于这种情况,没有任何区别。
谢谢。在这里学到了一些新东西。从来没有真正在双引号之外使用过 $( ) 。现在我看到它在行动。 +1
在这里阅读很好ss64.com/ps/syntax-operators.html@Daniel
不用担心。我听到了!你提供的够多了。无论如何,也许 mklement0 会出现并提供更技术性的答案:)以上是关于如何在 PowerShell 中添加到文件中?的主要内容,如果未能解决你的问题,请参考以下文章
Powershell - 在应用程序配置文件中找不到程序集绑定重定向
如何使用PowerShell将选择查询的输出从DataSet复制到日志文件?