powershell - PowerShell - 为什么在这行代码中使用数组?
问题描述
我有以下代码在多个文件中查找字符串,我在这里找到了其中的一部分。
$path = C:\Windows
Set-Location -path $path
$searchWords = 'log.txt'
Foreach ($sw in $searchWords)
{
Get-Childitem -Path $path -Recurse -include "*.txt","*.dll" |
Select-String -Pattern "$sw" |
Select Path,LineNumber,@{n='SearchWord';e={$sw}}
}
我不认为我理解的语法是最后一行的这一部分:
@{n='SearchWord';e={$sw}}
我会解释我认为我理解的内容,然后提出问题。
- @我认为意味着它是一个数组
- n= 是“名称”的简写
- 冒号(;) 分隔列的名称和填充列的表达式。
- e= 是表达式的简写
- {$sw} - 这里需要括号来封装表达式。
问题):
- 为什么要使用数组填充此列?
- 为什么必须使用表达式而不仅仅是变量'$sw'?
谢谢您的帮助!
解决方案
推荐阅读
- javascript - jQuery开/关点击
- java - 如何从 JTextArea 中删除旧文本以使文档大小不超过阈值?(爪哇)
- google-bigquery - Google Big Query:使用自定义维度获取新访客数
- spring - 如何在 Postman 中使用 API 发布数据
- node.js - mongodb中的并发更新
- python - 如何迭代 Twilio SMS 的列表?
- azure-active-directory - 无法从非基本 URL 的 Angular 应用程序登录到 Azure AD
- python - 将python dict“key value”转换为具有“k(value) ey”的dict
- testing - ldif 将“用户”类添加到 org.zapodot.junit.ldap.EmbeddedLdapRule
- performance - 如何加快 Fancybox 上的 Youtube 视频加载时间