这是我到目前为止创建的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做到这一点吗?
答案 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
}
}