gpt4 book ai didi

windows - 使用 PowerShell 反引号执行代码片段不起作用

转载 作者:行者123 更新时间:2023-12-04 00:49:49 25 4
gpt4 key购买 nike

当我在此代码段上运行反引号 (`) 命令时:

Get-WmiObject win32_service | Where-Object { $_.pathname -notlike "C:\windows\*" -and $_.startmode -eq "auto" -and $_.startname -eq "localsystem"} | Select-Object displayname, `
pathname, startmode, startname | Format-List | Out-Host

我遇到了一些错误。 那些错误是什么

首先,通过在第一行按F8,我明白了:

Incomplete string token.+ CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException+ FullyQualifiedErrorId : IncompleteString

目标:运行代码段并假设 PC 会自动跳到下一行,因为它有 ` 字符

其次,当我突出显示第一行时,通过单击行号左侧,我现在得到了:

At line:1 char:170

  • ... to" -and $_.startname -eq "localsystem"}|Select-Object displayname, `
  •                                                                    ~ Missing expression after ',' > in pipeline element.
    • CategoryInfo : ParserError: (:) [], ParentContainsErrorRecordException
    • FullyQualifiedErrorId : MissingExpression

目标:运行代码段并假设 PC 会自动跳到下一行,因为它有 ` 字符

但是,当我按下 F5 时,它就像一个魅力。请原谅我对 PowerShell 的无知,但我在这里做错了什么?

附加信息:这是我的 powershell 信息:

  • 名称:Windows PowerShell ISE 主机
  • 版本:5.1

最佳答案

您的错误来自 PowerShell ISE 的功能。

首先,您尝试在第一行使用 F8,即“运行选择”,但没有进行任何选择。这将隐式选择第一行的所有字符,然后尝试运行它。

当您这样做时,您会收到不完整的字符串标记错误,这是因为解析器遇到了单独的反引号 `(转义字符),后面没有任何字符。这是因为行尾的换行符(反引号通常会转义(这就是它作为续行符的工作方式))丢失了,因为单行选择不包括它。

Second, when I highlight just the first line, by clicking to the left of the line numbers

现在在这种情况下,您会注意到您的选择已将光标放在下一行的开头。这意味着该选择确实包括换行符,因此您现在有一个完整的字符串标记。

你的错误是你现在用逗号结束了你的命令,就好像你要传递更多的参数,然后什么也没有(其余的参数不包括在你的选择中)。


问题的根源在于 ISE 中处理运行选择的命令正是这样做的,因此如果您希望它们包含下一行的内容,您也必须将它们包含在选择中。


作为旁注,我可能建议您寻找可以让您自然使用换行符的代码元素,例如竖线 | 字符、运算符和脚本 block 大括号 {}/.

Get-WmiObject win32_service | 
Where-Object {
$_.pathname -notlike "C:\windows\*" -and
$_.startmode -eq "auto" -and
$_.startname -eq "localsystem"
} |
Select-Object displayname, pathname, startmode, startname |
Format-List |
Out-Host

这并没有解决您的选择问题,但我认为它更好读,并且不需要笨拙的反引号。

关于windows - 使用 PowerShell 反引号执行代码片段不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67362719/

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