gpt4 book ai didi

PowerShell:如何获得 if else 构造正确?

转载 作者:行者123 更新时间:2023-12-04 02:06:03 26 4
gpt4 key购买 nike

我正在尝试学习 powershell 并尝试构建一个 if else 语句:

if ((Get-Process | Select-Object name) -eq "svchost") {
Write-Host "seen"
}
else {
Write-Host "not seen"
}

尽管有 svchost 进程,但这最终会变成“未见”。如何修改它以获得正确的结果?

最佳答案

你的 if-else 结构是完美的,但改变 if 条件如下:

(Get-Process | Select-Object -expand name) -eq "svchost"

最初,您将一个对象与将评估为 false 的“svchost”进行比较。与 -expandProperty标志,您将获得对象的该属性,该属性是一个字符串,可以与“svchost”进行正确比较。

请注意,在上面您将包含进程名称的字符串数组与“svchost”进行比较。如果是数组 -eq如果数组包含另一个表达式,则为真,在本例中为“svchost”

还有其他“更好”的检查方法:
if (Get-Process | ?{ $_.Name -eq "svchost"}) {
Write-Host "seen"
}
else {
Write-Host "not seen"
}

关于PowerShell:如何获得 if else 构造正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7631564/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com