Самый простой способ прочитать все строки из всех файлов в каталоге в PowerShell

StackOverflow https://stackoverflow.com/questions/2541693

  •  23-09-2019
  •  | 
  •  

Вопрос

Это выражение, кажется, работает:

gci . | % { gc $_}

Это также, кажется, также работает (я подозреваю, что это немного медленнее):

gci . | Select-String . 

Есть ли лучший способ написания выражения, чтобы выбросить все строки из всех файлов в каталоге?

Спасибо

Это было полезно?

Решение

Что ж, вы не хотите бросать каталоги в Get-Content. Попробуйте это, чтобы отфильтровать Dirs:

Get-ChildItem | Where {!$_.PSIsContainer} | Get-Content

или с помощью псевдонимов:

gci | ?{!$_.PSIsContainer} | gc

Также обратите внимание, что get-content принимает имя файла в качестве входа трубопровода, поэтому вам не нужен командлет Foreach-object. Вы можете трудиться непосредственно для получения контента.

Другие советы

Не так ли?

gc * -ea SilentlyContinue
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top