powershell 中的意外令牌错误,在 PS3+ 中执行正常,在 2 上有问题
Unexpected token error in powershell, executes fine in PS3+ having an issue on 2
我正在编写一个脚本来查询 powershell 中的 csv 中的一些数据,它在使用 Powershell 3+ 的机器上工作正常,但我们有一些客户使用的机器有 2.0,我正在努力使其兼容。
这行代码导致错误:
$nameCheck += Import-Csv C:\temp\tokens.csv | Where-Object {$_. 'Customer Name' -clike "*$cid*"} | Select-Object 'Customer Name'
它给出的错误是:
Unexpected token '.' in expression or statement.
At C:\temp\tokenQueryv2.ps1:29 char:64
+ $nameCheck += Import-Csv C:\temp\tokens.csv | Where-Object {$_. <<<< 'Customer Name' -clike "$cid"} | Select-Object 'Customer Name'
+ CategoryInfo : ParserError: (.:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : UnexpectedToken
根据错误中的字符位置,它看起来像 Where-Object
之后的 {$_. '...'
我假设在 PS2 上需要一些不同的语法。 0 我只是努力在任何在线资源中找到它。如果有人知道或有过类似的经验,欢迎任何意见。
谢谢!
变化:
Where-Object {$_. 'Customer Name' -clike "*$cid*"}
至
Where-Object {$_.'Customer Name' -clike "*$cid*"}
令我惊讶的是 PSv3 确实支持 .
之后的 space
我正在编写一个脚本来查询 powershell 中的 csv 中的一些数据,它在使用 Powershell 3+ 的机器上工作正常,但我们有一些客户使用的机器有 2.0,我正在努力使其兼容。
这行代码导致错误:
$nameCheck += Import-Csv C:\temp\tokens.csv | Where-Object {$_. 'Customer Name' -clike "*$cid*"} | Select-Object 'Customer Name'
它给出的错误是:
Unexpected token '.' in expression or statement. At C:\temp\tokenQueryv2.ps1:29 char:64 + $nameCheck += Import-Csv C:\temp\tokens.csv | Where-Object {$_. <<<< 'Customer Name' -clike "$cid"} | Select-Object 'Customer Name' + CategoryInfo : ParserError: (.:String) [], ParentContainsErrorRecordException + FullyQualifiedErrorId : UnexpectedToken
根据错误中的字符位置,它看起来像 Where-Object
之后的 {$_. '...'
我假设在 PS2 上需要一些不同的语法。 0 我只是努力在任何在线资源中找到它。如果有人知道或有过类似的经验,欢迎任何意见。
谢谢!
变化:
Where-Object {$_. 'Customer Name' -clike "*$cid*"}
至
Where-Object {$_.'Customer Name' -clike "*$cid*"}
令我惊讶的是 PSv3 确实支持 .