如何从select语句获取INT输出

时间:2019-08-12 11:18:24

标签: powershell

我有以下代码:

        this.OneWayBind(VM, vm => vm.TargetCollection, v => v.DataGrid1.DataSource);

哪个返回

  OKCmd = ReactiveCommand.Create(() =>
        {
        ////    _myList.Connect()
        ////.Subscribe(t =>
        //// {
        ////     ;

        //// }
        //// );

但是我想越过那条线,所以我尝试做

$linenumber = Get-Content "C:\temp\test.INI" | select-string -Pattern 'testinput' | select LineNumber

返回op_Subtraction:String错误。

2 个答案:

答案 0 :(得分:2)

您的代码返回一个具有属性LineNumber的对象。如果在输入文件的更多位置找到该模式,它将返回具有该属性的对象数组。

在您的测试用例中,您可以

# find the first (or only) line that contains the pattern and convert to int
$linenumber = [int](Get-Content "C:\temp\test.INI" | 
    Select-String -Pattern 'testinput' | 
    Select-Object -ExpandProperty LineNumber)[0]

$linenumbernew = $linenumber-1

P.S.通过使用-ExpandProperty,该函数将返回属性的内容而不是持有该属性的对象

答案 1 :(得分:1)

尝试访问var str = "alert('text')" 属性:

LineNumber

这是一个简单的例子:

$linenumbernew = $linenumber.LineNumber - 1