Set-Content 是那些核心的 PowerShell 命令之一,我不能没有它。我还记得在我们能够使用 PowerShell 写入文件之前,我曾经使用 VBScript。我记得总是试图记住我需要使用什么样的对象和方法名。是 FileSystemObject,FileObject 还是其他的什么?那真是令人头疼!即使我记得方法名是 CreateTextFile()
,我总是忘记在第二个参数中添加 True
。
这就是我所说的怪物的例子。
将那段 VBScript 与这个 PowerShell 进行比较:
Set-Content -Path 'C:\file.txt' -Value 'test string'
你更喜欢哪个?我会选择 PowerShell 的方式!PowerShell 的方式使用了一个名为 Set-Content 的单个命令。这个命令允许我们更轻松地使用 PowerShell 来写入文件。这个 PowerShell 命令是一个内置命令,只有一个目的;写入文件。
它可能有一些参数来改变这种行为,但它的重点完全是写入文件。不要与 Add-Content
混淆,因为它们是相似的。Set-Content
会覆盖整个文件,而 Add-Content
会向文件中添加内容。我在刚开始时多次吃过苦头学到了这一点!
创建文件/覆盖文件
Set-Content
命令相当简单。下面是一个很好的例子。这个例子显示了 Set-Content
可以创建文件(如果不存在),或者可以替换预先存在文件中的所有内容。
输出到文件
一个可以输出到文件的 cmdlet 是 Out-File
,但是 Set-Content
可以执行相同的任务,尽管有些许不同。
也许您想从一个文本文件中提取特定的文本片段,并将行输出到另一个文件中。通过使用 Get-Content
和 Set-Content
,您可以实现这一点。也许我有一个文本文件,每行显示一个服务器及其状态。我想读取每个服务器的状态,并将其输出到一个文件中。使用 Get-Content
读取文件和 Set-Content
写入文件,这是可能的。
Set-Content
是那些经常被使用的核心 cmdlet 之一。它并不花哨,但每次都有效,是您 PowerShell 技能库中应该具备的工具之一。
要了解完整的细节,请查阅微软的文档:Set-Content。
Source:
https://adamtheautomator.com/powershell-write-to-file/