Прочитайте список каталогов в Powershell, а затем отобразите каждое другое имя файла на экране - PullRequest
0 голосов
/ 10 ноября 2018

Вот сценарий Powershell, который я создал до сих пор:

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

Моя конечная цель - перечислить все файлы (только файлы - без подкаталогов) в следующем каталоге, отсортированному по имени файла вв порядке убывания.Далее мне нужно прочитать этот список каталогов, созданный в Powershell, а затем отобразить все остальные имена файлов на экране.

Я пытался найти способ сделать это, отправив отсортированные результаты в командлет Foreach-Object, а затем прочитав «Объект» из полученного списка, используя командлет Get-Content и свойство FullNameкаждого объекта, например: Get-Content $ _. FullName

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

Есть идеи, как этого добиться с помощью этих командлетов?

1 Ответ

0 голосов
/ 10 ноября 2018

Вы можете получить номер индекса элемента в массиве с .IndexOf(). Вы можете получить четные числа в списке чисел, используя «mod 2 = zero». как то так ...

$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
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...