相关疑难解决方法(0)

在PowerShell中查询LINQ样式的列表

add-type -Language CSharpVersion3 -TypeDefinition @"
    public class pack_code
    {
        public pack_code() {}

        public string code { get; set; }
        public string type { get; set; }
    }
"@

$a = New-Object pack_code
$a.code = "3"
$a.type = "5"
$b = New-Object pack_code
$b.code = "2"
$b.type = "5"
$c = New-Object pack_code
$c.code = "2"
$c.type = "5"
$d = New-Object pack_code
$d.code = "1"
$d.type = "1"

$codes = New-Object 'System.Collections.Generic.List[object]'
$codes.add($a)
$codes.add($b)
$codes.add($c)
$codes.add($d)
Run Code Online (Sandbox Code Playgroud)

有没有办法从$ code中选择不同的并选择类型等于1的对象?如何在PowerShell中使用LINQ?

linq powershell

12
推荐指数
3
解决办法
3万
查看次数

PowerShell 中的 LINQ

我正在将应用程序从 C# 转换为 PowerShell。如何从 PowerShell 调用 LINQ?



    [Data.DataTable]$dt = New-Object System.Data.DataTable
    [Data.DataColumn]$column = New-Object System.Data.DataColumn "Id", ([int])
    $dt.Columns.Add($column)
    
    # add data
    [Data.DataRow]$row = $dt.NewRow() # 
    $row["Id"] = 1
    $dt.Rows.Add($row)
    $row = $dt.NewRow() # 
    $row["Id"] = 2
    $dt.Rows.Add($row)
    
    # LINQ in C#: int[] results = dt.AsEnumerable().Select(d => d.Field("Id")).ToArray();
    [int[]]$results = [Linq.Enumerable]::Select($dt,[Func[int,int]]{ $args[0]})
    # Error: Cannot find an overload for "Select" and the argument count: "2"
    Write-Host $results

Run Code Online (Sandbox Code Playgroud)

linq powershell

3
推荐指数
1
解决办法
1822
查看次数

Powershell:始终生成空文件(比较对象的输出)

此问题最流行的答案涉及以下 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
Run Code Online (Sandbox Code Playgroud)

我总是得到一个零字节文件作为输出,即使我删除了 $Diff 行。

为什么输出文件总是为空,如何修复?

windows powershell compare file member-enumeration

1
推荐指数
1
解决办法
948
查看次数

标签 统计

powershell ×3

linq ×2

compare ×1

file ×1

member-enumeration ×1

windows ×1