Как получить (gci) .count, чтобы возвращать правильные числовые значения для пустых или одиночных списков?

Связанный:
Как написать скрипт для подсчета файлов, измененных в течение определенного месяца?

Когда я пытаюсь получить количество элементов, например, с (gci).count для подсчета файлов в папке, PowerShell не возвращает вывод для пустых списков или списков, содержащих только один элемент. Тем не менее, он отлично работает для списков, содержащих несколько элементов.

Введите описание изображения здесь

Как я могу заставить PowerShell возвращать правильные числовые значения для всех случаев? Т.е.: как я могу заставить его выводить фактический нуль для пустых списков и выводить один для списков отдельных элементов?

В моем конкретном случае использования, описанном выше в связанном выше вопросе, необходимо получить количество элементов в списке, который возникает из-за того, что конвейер gci команды gci на место.

Это связано с тем, что powershell, возвращая массив из 1 элемента, просто сбрасывает массив на этот единственный элемент.

Перед версией 3 это приведет к объекту без ожидаемого свойства count и ваш результат будет пустым. Это было исправлено в версии 3 .

Итак, у вас есть 2 варианта:

  1. Обновление до версии Powershell v3
  2. Примените следующее обходное решение, в котором вы всегда сворачиваете результаты как тип массива @() :

    @ (GCI) .count

  • Несколько цветов переднего плана в PowerShell по одной команде
  • Заблокируйте раздел реестра, чтобы предотвратить переписывание или удаление случайно или намеренно с помощью командной строки
  • Выполнение скрипта PowerShell через контекстное меню проводника по элементам, содержащим амперсанды в их именах
  • Как передать несколько параметров в функцию в PowerShell?
  • Показывать доступные для пользователя размеры файлов в команде PowerShell по умолчанию
  • Массовое преобразование фотографий в меньший размер?
  • Событие post build execute powershell
  • Скрипт Powershell для экспорта всех устройств в диспетчере устройств в виде дерева или списка?
  • попробуйте, поймать doesent, похоже, работать
  • Разделить текст по столбцам в PowerShell
  • Import-StartLayout ничего не меняет
  • Давайте будем гением компьютера.