maneira mais fácil de ler todas as linhas de todos os arquivos em um diretório em PowerShell
-
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
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