Есть ли способ для разбиения на страницы вывода путем соединения его с некоторой командой "больше", доступной в оболочках linux\unix?
Эквивалент команды "больше" или "меньше" в Powershell?
Ответ 1
Ну... Существует "больше", которое более или менее (...) такое же, что и на других платформах. Попробуйте следующий пример:
dir -rec | more
Ответ 2
Да, есть:
 some-cmdlet | out-host -paging
Ответ 3
 dir -rec | more является плохим советом.
Это заставит powershell оценивать всю команду до вывода ее на экран, что-то, что не нужно для чего-то вроде вывода на страницу
В некоторых крайних случаях это может привести к сбою системы (например, dir 'C:\' | more)
С другой стороны, использование out-host -paging выводит информацию на экран по мере его доступности.
Ответ 4
Расширения сообщества Powershell имеют удобную функцию с именем "меньше", которая предоставляет более полный набор функций в стиле Unix, используя портированную копию of less.exe, чтобы фактически обрабатывать пейджинг.
Вы можете установить его, запустив оболочку admin и выполнив:
Find-Package pscx | Install-Package -Force
(force должен обновить более старые версии)
Вы можете подключать к нему строки или давать имена файлов в качестве прямых параметров.
type foo.txt | less
less foo.txt, bar.txt, baz.txt
Он работает в окнах ConEmu и Powershell, но, к сожалению, он не работает так, как вы ожидали бы под версией v2.0.
Ответ 5
 more не используется для ограничения вывода, он используется для выделения страниц и упрощает чтение в терминале, если что-либо.
Вы говорите об использовании head и tail? EggHeadCafe имеет пример:
type my.txt | select-object -first 10
type my.txt | select-object -last 10
для эмуляции head и tail.
Ответ 6
Я добавил определение функции и псевдоним моего профиля по умолчанию
%SystemRoot%\system32\windowspowershell\v1.0\profile.ps1
Эта функция в основном основана на этой записи в блоге от Aman Dhally с добавлением обработки исключений для нажатия Q во время пейджинга.
function more2
{
   param(
     [Parameter(ValueFromPipeline=$true)]
     [System.Management.Automation.PSObject]$InputObject
   )
   begin
   {
      $type = [System.Management.Automation.CommandTypes]::Cmdlet
      $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand(‘Out-Host’, $type)
      $scriptCmd = {& $wrappedCmd @PSBoundParameters -Paging }
      $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)
      $steppablePipeline.Begin($PSCmdlet)
   }
   process
   {
      try
      {
         $steppablePipeline.Process($_)
      }
      catch
      {
        break;
      }
   }
   end
   {
      $steppablePipeline.End()
   }
   #.ForwardHelpTargetName Out-Host
   #.ForwardHelpCategory Cmdlet
}
New-Alias more more2
 поэтому я могу просто называть его как dir -r | more и сразу же запускает выгружаемый вывод из-за конвейера PowerShell (в отличие от ожидания полного вывода с помощью more.com).
Ответ 7
cat C:\Temp\test.txt
cat - это псевдоним для Get-Content - с более крупными файлами вы получите "Больше" - вывод в нижней части терминала
Вы также можете добавить -wait
cat C:\Temp\test.txt -wait 
-wait похож на использование хвоста, но на самом деле он перезапускает команду, просто обновляя вывод
cat C:\Temp\test.txt | oh –Paging
oh = Out-Host
Ответ 8
Если у вас установлен VIM, я полностью наслаждаюсь dir -r | vim -R -. К сожалению, такая же проблема возникает при использовании more (т.е. Потоковой передачи).
Ответ 9
Мне нравится команда "меньше" лучше, чем команда "больше", потому что вы можете пойти и вернуться назад (а не просто вперед). Я считаю эту функцию очень полезной.
 "less" из msysgit работает для меня (для меня путь C:\Program Files (x86)\Git\bin\less.exe). У меня были ошибки в powershell с GOW версия "less".
Пример:
 ls|less
Чтобы сохранить ввод, я добавил псевдоним "l" меньше в моем профиле powershell:
 sal l "C:\Program Files (x86)\Git\bin\less.exe"
Ответ 10
Предложение: поместите файл во временный/одноразовый .txt файл, а затем позвольте ОС вызывать ваш любимый редактор, тот, который связан с расширением .txt.
Get-Process | Out-File temp.txt;.\Temp.txt
Примечание: каждый раз, когда вы используете это, вы перезаписываете любой существующий файл temp.txt. Выберите имя файла с умом.
Вышеизложенное - просто основная идея. 
Следующий шаг будет преобразовывать это в "| more" с использованием псевдонимов или функций профиля и т.д.
НТН, Марсело Финикельштейн
Ответ 11
PS> cd C:\
PS> dir -r -ex 0 | out-Host -paging
PS> dir -file -r -ea 0 c:\Windows | Select FullName,Length,LastWriteTime | out-gridview
