No PowerShell listar todos os ficheiros num directório é uma tarefa muito fácil. Só precisamos de usar o seguinte comando para listar todos os ficheiros apenas num directório.

Table of contents:

  • PowerShell Listar ficheiros num directório.
  • gci alias para get-chiltitem.
  • dir alias para get-childitem.
  • PowerShell lista apenas directórios.
  • PowerShell lista apenas directórios usando um script mais curto.
  • PowerShell lista ficheiros recursively.
  • PowerShell lista directórios recursively.
  • Lista ficheiros de um determinado tipo de extensão.
  • PowerShell lista ficheiros de um certo tipo de extensão recursively.
  • Listar ficheiros até uma profundidade nas subdirectorias.
  • Verdict.

People also search for:

Tippet de trabalho para Start-Job PowerShell 2020

gci -file

O script acima é mostrado é executado e a saída é mostrada na imagem abaixo.

>
get all the files in a directory

Há muitas variações e nós visitamos algumas delas neste post. Veremos como o alias gci se origina e veremos também alguns alias diferentes. Há maneiras de obter apenas os diretórios dentro dos diretórios e também até certa profundidade.

Visitaremos o máximo de recursos que pudermos sobre a listagem de arquivos em um diretório.

PowerShell Listar arquivos em um diretório:

Os desenvolvedores do PowerShell tornaram injustificadamente fácil lidar com arquivos e pastas no PowerShell. Ao contrário do scripting tradicional, não temos que pensar muito em estruturar o script no PowerShell. Isso é porque o PowerShell é uma entrada e saída baseada em objetos. Se alguém é bom numa linguagem de programação orientada a objectos, a scripting no PowerShell vem naturalmente para eles.

Para começar, obtendo apenas os ficheiros numa directoria, podemos usar o get-childitem cmdlet. Vamos adicionar a chave -file ao cmdlet para buscar apenas os arquivos em um diretório específico.

get-childitem -file

get child item file

Claramente isto resolve o nosso problema. Mas podemos tornar o script mais eficiente? Na verdade, podemos.

gci Alias for Get-ChildItem:

O get-childitem cmdlet tem um alias chamado gci. Ele diminui o esforço para escrever o script inteiro. O script abaixo irá produzir a saída que precisamos.

gci -file

gci -file

dir alias para Get-ChildItem:

O get-childitem também tem um alias bastante popular. Ele pode ser substituído por dir para obter os mesmos resultados.

dir -file

O script acima irá produzir a saída da seguinte forma.

dir file

PowerShell lista somente diretórios:

Nós aprendemos como listar somente arquivos em um diretório específico. Agora vamos ver como listar apenas os directórios de um directório. Podemos fazer isso com a ajuda de -directory switch em vez de -file switch.

gci -directory

gci -directory

PowerShell lista apenas directórios mais curtos:

Podemos simplificar o script com a ajuda de -di switch. Ele está disponível pois é suficiente para identificar a chave de diretórios sem qualquer ambiguidade. Use o seguinte script para listar apenas os diretórios no diretório.

gci -di

Esta opção irá dar aos usuários a seguinte saída.

gci -di

PowerShell lista somente os arquivos em todas as pastas ou diretórios:

Agora que vimos como listar somente os arquivos ou somente as pastas, ainda não aprendemos como listar somente os arquivos no diretório. Podemos fazer isso mesmo com a ajuda da -recurse switch. O script é dado abaixo.

gci -file -recurse

get files recursively

Claramente este é um ótimo script para chegar somente aos arquivos do diretório ou da pasta.

Lista apenas as pastas em todas as pastas ou directórios:

Podemos listar apenas os ficheiros no directório e também o directório infantil subsequente usando o seguinte script.

gci -di -recurse

diretórios recursivos

PowerShell listam arquivos de uma extensão:

Podemos listar apenas um determinado tipo de arquivos em um diretório, se desejarmos. Podemos listar apenas ficheiros PDF num directório usando o seguinte script.

gci -file *.pdf

apenas os pdfs

PowerShell lista ficheiros de uma extensão recursivamente:

Podemos levar a listagem dos ficheiros a um novo nível listando apenas os ficheiros de uma extensão recursivamente. O exemplo abaixo demonstra apenas que.

gci -file -r *.pdf

file type recursively

Nota como usamos a chave -r em vez da chave -recurse, pois ela diminui a quantidade de digitação que precisa ser feita.

PowerShell lista ficheiros de uma extensão recursivamente com profundidade:

Podemos listar todos os ficheiros de um directório e subsequente subdirectório usando a opção -recurse switch. Também podemos restringir a busca usando a extensão de arquivo. Mas e se não quisermos pesquisar em pastas que sejam mais profundas que 2 subdiretórios. Podemos usar a opção -depth switch. O script abaixo usa que.

gci -file -d 1 -r *.pdf

> com profundidade

O script acima irá obter-childitem de arquivos tipo, irá buscar até os diretórios infantis 1, irá fazê-lo recursivamente e, finalmente, irá garantir que irá buscar apenas pdfs.

Verdict:

Neste post, aprendemos sobre PowerShell Listar todos os arquivos em um Diretório. Fizemos isso usando o apelido get-childitem chamado gci. O gci acoplado à chave -file faz o que precisamos que ele faça. Também pegamos os arquivos de uma certa extensão. Pegamos os arquivos de uma certa extensão recursivamente e também até uma profundidade limitada.

Se você quiser posts mais incríveis, fique ligado no TecKangaroo.

Deixe uma resposta

O seu endereço de email não será publicado.