【问题标题】:Powershell 'cannot bind argument to parameter' error when using answer使用答案时Powershell“无法将参数绑定到参数”错误
【发布时间】:2017-06-17 16:10:24
【问题描述】:

this question 最流行的答案涉及以下 Windows PowerShell 代码:

$file1 = Get-Content C:\temp\file1.txt  
$file2 = Get-Content C:\temp\file2.txt   
$Diff = Compare-Object $File1 $File2  
$LeftSide = ($Diff | Where-Object $_.SideIndicator -eq '<=').InputObject  
$LeftSide | Set-Content C:\temp\file3.txt

然而,当我尝试使用该代码时,我收到以下错误:

Where-Object : Cannot bind argument to parameter 'FilterScript' because it is null.

为什么会出现此错误,如何解决?

【问题讨论】:

    标签: windows file powershell runtime-error


    【解决方案1】:

    看起来像一个简单的语法错误。 Where-Object 要求条件过滤器以脚本块的形式呈现(因此是“FilterScript”):

    Where-Object {$_.SideIndicator -eq '<='}
    

    【讨论】:

    • 谢谢!这修复了错误。现在,更大的问题......为什么它不起作用?总是得到一个 0 字节的输出文件。
    • 我会检查 $Diff 并确保您实际上从比较对象中获得了 LH 侧差异。
    • 你有时间在聊天中讨论这个吗?
    • 不是现在(我在烤架上有汉堡),但如果您对比较对象结果有疑问,只需发布​​另一个问题,有人可能会加入。
    • 谢谢。也给我在烤架上扔一个! :)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-22
    • 2017-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-27
    相关资源
    最近更新 更多