powershell - 将字符添加到每行的 Out-File 内容?
问题描述
有没有办法使用 PowerShell Out-File 为插入到文件中的每一行添加 * 在 Out-File 中每个文本的开头和结尾?
示例:获取进程 | 输出文件 -FilePath .\Process.txt
Test
Test1
示例 Process.txt 应包含:
*Test*
*Test1*
解决方案
如果您有一个集合,它是大多数命令的输出,您可以遍历每个元素并格式化输出字符串。下面的示例使用 ( -f
) 格式运算符来构建字符串。
$collection = @('test','test1','test2')
foreach ($entry in $collection) {
"*{0}*" -f $entry | Out-File .\Process.txt -Append
}
上面的例子很简单。但是,当从命令输出时,您通常会得到一个对象。您需要调整它以选择您关心的对象属性。如果我们将上面的示例改编为Get-Process
,您可以执行以下操作:
foreach ($name in (Get-Process).Name) {
"*{0}*" -f $name | Out-File .\Process.txt -Append
}
一个概念上相似但不太冗长的选项,带有别名,只向输出文件写入一次:
Get-Process |% {"*$($_.Name)*"} | Out-File .\Process.txt
推荐阅读
- python - 我想将这些输出转换为列表
- push-notification - FCM - 为什么在较新的 Firebase Admin SDK 中不再支持 FCM 直接通道?
- php - 如何在 laravel DB::select 查询中传递 foreach
- jtag - Trace32:如何使用 t32apinet 以编程方式获取维护密钥到期月份和年份?
- or-tools - 如何在 OR-Tools Routing Solver 中实现自定义软约束?
- python - 使用 .loc 的 Pandas 数据框分配因 MultiIndex 而失败
- javascript - 无法从 div 获取数据
- salt-stack - 如何从 Master 修改 Salt Minion 配置文件中的默认选项
- azure-application-insights - 如何在 Azure API 管理中测试缓存策略
- javascript - 选项卡组件 - javascript 未定义错误