maneira mais fácil de ler todas as linhas de todos os arquivos em um diretório em PowerShell

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

  •  23-09-2019
  •  | 
  •  

Pergunta

Esta expressão parece funcionar:

gci . | % { gc $_}

Isso também parece funcionar também (suspeito que seja um pouco mais lento):

gci . | Select-String . 

Existe uma maneira melhor de escrever uma expressão para despejar todas as linhas de todos os arquivos em um diretório?

Obrigado

Foi útil?

Solução

Bem, você não quer jogar diretórios no conteúdo do Get. Tente isso para filtrar os diretores:

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

ou usando aliases:

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

Observe também que o conteúdo do Get toma o nome do arquivo como entrada do pipeline para que você não precise do cmdlet foreach-object. Você pode tubar-se diretamente para obter conteúdo.

Outras dicas

Este não vai fazer?

gc * -ea SilentlyContinue
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top