如何在PowerShell中预编文件?

如何在PowerShell中预编文件?,powershell,prepend,powershell-core,Powershell,Prepend,Powershell Core,我正在生成两个文件,userscript.meta.js和userscript.user.js。我需要将userscript.meta.js的输出放在userscript.user.js的最开头 Add Content似乎不接受要前置的参数,Get Content | Set Content将失败,因为userscript.user.js正在被Get Content使用 如果物理上可能有一个干净的解决方案,我宁愿不创建中间文件 如何做到这一点 $( (Get-Content usersc

我正在生成两个文件,
userscript.meta.js
userscript.user.js
。我需要将
userscript.meta.js
的输出放在
userscript.user.js
的最开头

Add Content
似乎不接受要前置的参数,
Get Content | Set Content
将失败,因为
userscript.user.js
正在被
Get Content
使用

如果物理上可能有一个干净的解决方案,我宁愿不创建中间文件

如何做到这一点

$(
    (Get-Content userscript.meta.js -Raw)
    (Get-Content userscript.user.js -Raw)
) | Out-File userscript.user.js
如果当前目录不在文件所在的位置,请考虑使用文件的完整路径


如果当前目录不在文件所在的位置,请考虑使用文件的完整路径。

回答得不错。我只是好奇,为什么
$(…)
@(…)
?他们有什么不同吗?两者似乎都输出一个数组。我唯一一次看到使用的
$(…)
是在double中-quotes@Daniel两个子表达式返回相同的东西
object[]
没有任何区别,这只是我的习惯:P通常使用
@(…)
来确保结果是
数组和
$(…)
当您希望括号内的结果作为变量处理时。但是对于这个案子,没有什么不同。谢谢你。在这里学到了一些新东西。从未在双引号外使用过$()。现在我看到它在起作用+1在这里阅读@Daniel,无需担心。我听到了!你提供的足够了。无论如何,也许mklement0会提供一个更技术性的答案:)很好的答案。我只是好奇,为什么
$(…)
@(…)
?他们有什么不同吗?两者似乎都输出一个数组。我唯一一次看到使用的
$(…)
是在double中-quotes@Daniel两个子表达式返回相同的东西
object[]
没有任何区别,这只是我的习惯:P通常使用
@(…)
来确保结果是
数组和
$(…)
当您希望括号内的结果作为变量处理时。但是对于这个案子,没有什么不同。谢谢你。在这里学到了一些新东西。从未在双引号外使用过$()。现在我看到它在起作用+1在这里阅读@Daniel,无需担心。我听到了!你提供的足够了。无论如何,也许mklement0会提供一个更技术性的答案:)