我要求可以动态修补文件作为脚本的一部分。
为了使脚本更具可读性,我想以类似于UNIX“diff”和“patch”方法的方式实现它。在标准UNIX系统上,diff可以生成一个特殊格式的文本文件,该文件表示两个文件之间的差异。这可能会被“patch”与要修改的文件一起使用,以便以干净和直接的方式生成更改的文件。
似乎在PowerShell中没有直接的方法。我见过的选项是使用多行正则表达式 - 难以构建和解释,使用整个文件并逐行处理或将我希望在脚本中创建的新文件编码为Base64字符串和只需将其解码为目标文件即可。
虽然Compare-Object看起来好像可以生成适当的diff对象,但似乎没有简单的方法可以使用Compare-Object的输出将更改应用于字符串数组。