将目录列表读入Powershell,然后在屏幕上显示所有其他文件名

时间:2018-11-09 21:39:24

标签: powershell

这是我到目前为止创建的Powershell脚本:

dir C:\Windows\System32 | Sort-Object -Descending 

我的最终目标是列出以下目录中的所有文件(仅文件-无子目录),并按文件名降序排列。接下来,我需要阅读在Powershell中创建的目录列表,然后在屏幕上显示所有其他文件名。

我试图通过将排序结果通过管道传递到Foreach-Object cmdlet中,然后使用Get-Content cmdlet和每个对象的FullName属性从结果列表中读取“ Object”,来尝试执行此操作-如:Get-Content $ _。FullName

dir C:\Windows\System32 | Sort-Object -Descending | ForEach-Object 

有什么想法可以使这些cmdlet做到这一点吗?

1 个答案:

答案 0 :(得分:0)

您可以使用.IndexOf()获取数组中某个项目的索引号。您可以使用“ mod 2 = 0”来获得数字列表的偶数。像这样的东西

$TargetDir = "$env:windir\system32"

$FileList = Get-ChildItem -LiteralPath $TargetDir -File |
    Sort-Object -Property Name

foreach ($FL_Item in $FileList)
    {
    # if "number mod 2 = zero", then it's an even number
    if ($FileList.IndexOf($FL_Item) % 2 -eq 0)
        {
        $FL_Item.Name
        }
    }