如何在 Where-Object 中使用函数
How to use function in Where-Object
我想按 属性 "innerText" 筛选对象列表。但我需要做一些准备。
为什么进一步的代码不起作用?它returns 所有对象。
function enc[[string]$inp]
{
return [System.Text.Encoding]::GetEncoding("windows-1251").GetString([System.Text.Encoding]::GetEncoding("ISO-8859-1").GetBytes($inp))
}
$req.Links | Where-Object { enc($_.innerText) -eq "my string"} | fl
我做错了什么?
不幸的是,我没有在 Internet 上找到必要的文章。
有很多这样的例子:($_.Name -eq "name") - 对我来说没有任何价值。
我认为问题在于您如何定义函数。
function enc
{
param ([string]$inp)
return [System.Text.Encoding]::GetEncoding("windows-1251").GetString([System.Text.Encoding]::GetEncoding("ISO-8859-1").GetBytes($inp))
}
$req.Links | Where-Object { (enc $_.innerText) -eq "my string"} | fl
简单测试:
$a = "hello","world"
function enc
{
param ([string]$inp)
$inp
}
$a | Where-Object { (enc $_) -eq "hello"}
我想按 属性 "innerText" 筛选对象列表。但我需要做一些准备。 为什么进一步的代码不起作用?它returns 所有对象。
function enc[[string]$inp]
{
return [System.Text.Encoding]::GetEncoding("windows-1251").GetString([System.Text.Encoding]::GetEncoding("ISO-8859-1").GetBytes($inp))
}
$req.Links | Where-Object { enc($_.innerText) -eq "my string"} | fl
我做错了什么? 不幸的是,我没有在 Internet 上找到必要的文章。 有很多这样的例子:($_.Name -eq "name") - 对我来说没有任何价值。
我认为问题在于您如何定义函数。
function enc
{
param ([string]$inp)
return [System.Text.Encoding]::GetEncoding("windows-1251").GetString([System.Text.Encoding]::GetEncoding("ISO-8859-1").GetBytes($inp))
}
$req.Links | Where-Object { (enc $_.innerText) -eq "my string"} | fl
简单测试:
$a = "hello","world"
function enc
{
param ([string]$inp)
$inp
}
$a | Where-Object { (enc $_) -eq "hello"}