Get-ChildItem

Module: Microsoft.PowerShell.Management

Reúne os itens e os itens filhos em um ou mais locais especificados.

Syntax

Get-ChildItem <string>] <string>] >] >] >] 
Get-ChildItem <string>] -LiteralPath <string> >] >] >] 

Descrição

The Get-ChildItem cmdlet obtém os itens em um ou mais locais especificados. Se o item for acontainer, ele recebe os itens dentro do contêiner, conhecidos como itens filhos. Você pode usar o separador de recursos para obter itens em todos os contêineres infantis e usar o parâmetro Profundidade para limitar o número de níveis a recursar.

Get-ChildItem não exibe diretórios vazios. Quando um comando Get-ChildItem inclui os parâmetros Depth ou Recurse, diretórios vazios não são incluídos na saída.

Localizações são expostas a Get-ChildItem pelos provedores PowerShell. Um local pode ser um directório de sistema de ficheiros, uma colmeia de registo ou um armazém de certificados. Para mais informações, veja about_Providers.

Exemplos

Exemplo 1: Obtenha os itens filhos de um diretório de sistema de arquivos

Este exemplo obtém os itens filhos de um diretório de sistema de arquivos. Os nomes dos arquivos e subdiretórios são exibidos. Para localizações vazias, o comando não retorna nenhuma saída e retorna ao promptPowerShell.

O parâmetro Path usa o parâmetro Path para especificar o diretório C:\Test.Get-ChildItem exibe os arquivos e diretórios no console PowerShell.

Get-ChildItem -Path C:\TestDirectory: C:\TestMode LastWriteTime Length Name---- ------------- ------ ----d----- 2/15/2019 08:29 Logs-a---- 2/13/2019 08:55 26 anotherfile.txt-a---- 2/12/2019 15:40 118014 Command.txt-a---- 2/1/2019 08:43 183 CreateTestFile.ps1-ar--- 2/12/2019 14:31 27 ReadOnlyFile.txt

Por padrão Get-ChildItem lista o modo (Atributos), LastWriteTime, tamanho do arquivo (Length),e o Nome do item. As letras na propriedade Mode podem ser interpretadas da seguinte forma:

  • l (link)
  • d (diretório)
  • a (arquivo)
  • r (somente leitura)
  • h (oculto)
  • s (sistema).

Para mais informações sobre as bandeiras de modo, consulte sobre o sistema de arquivos_Provedor.

Exemplo 2: Obtenha nomes de itens filhos em um diretório

Este exemplo lista apenas os nomes dos itens em um diretório.

O Get-ChildItem cmdlet usa o parâmetro Caminho para especificar o diretório C:\Test. O parâmetroName retorna apenas os nomes dos ficheiros ou directórios do directório especificado.

Get-ChildItem -Path C:\Test -NameLogsanotherfile.txtCommand.txtCreateTestFile.ps1ReadOnlyFile.txt

Exemplo 3: Obter itens filhos no directório e subdirectórios actual

Este exemplo mostra ficheiros .txt que estão localizados no directório actual e itssubdirectories.

Get-ChildItem -Path C:\Test\*.txt -Recurse -ForceDirectory: C:\Test\Logs\AdirectoryMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/12/2019 16:16 20 Afile4.txt-a-h-- 2/12/2019 15:52 22 hiddenfile.txt-a---- 2/13/2019 13:26 20 LogFile4.txt Directory: C:\Test\Logs\BackupMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/12/2019 16:16 20 ATextFile.txt-a---- 2/12/2019 15:50 20 LogFile3.txt Directory: C:\Test\LogsMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/12/2019 16:16 20 Afile.txt-a-h-- 2/12/2019 15:52 22 hiddenfile.txt-a---- 2/13/2019 13:26 20 LogFile1.txt Directory: C:\TestMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/13/2019 08:55 26 anotherfile.txt-a---- 2/12/2019 15:40 118014 Command.txt-a-h-- 2/12/2019 15:52 22 hiddenfile.txt-ar--- 2/12/2019 14:31 27 ReadOnlyFile.txt

The Get-ChildItem cmdlet utiliza o parâmetro Path para especificar C:\Test\*.txt. Path utiliza o wildcard theasterisk (*) para especificar todos os ficheiros com a extensão de nome de ficheiro .txt. O separador de recursos pesquisa o directório Path nas suas subdirectorias, como mostra o directório:headings. O parâmetro Force mostra ficheiros ocultos tais como hiddenfile.txt que têm um modo de h.

Exemplo 4: Obter itens filhos utilizando o parâmetro Incluir

Neste exemplo Get-ChildItem utiliza o parâmetro Incluir para encontrar itens específicos da directoria especificada pelo parâmetro Path.

# When using the -Include parameter, if you don't include an asterisk in the path# the command returns no output.Get-ChildItem -Path C:\Test\ -Include *.txtGet-ChildItem -Path C:\Test\* -Include *.txtDirectory: C:\TestMode LastWriteTime Length Name---- ------------- ------ -----a---- 2/13/2019 08:55 26 anotherfile.txt-a---- 2/12/2019 15:40 118014 Command.txt-ar--- 2/12/2019 14:31 27 ReadOnlyFile.txt

O parâmetro Get-ChildItem cmdlet utiliza o parâmetro Path para especificar o directório C:\Test. O parâmetro Caminho inclui um asterisco (*) para especificar o conteúdo do directório. O parâmetro Incluir utiliza um asterisco (*) para especificar todos os ficheiros com o ficheiro de extensão .txt.

Quando o parâmetro Incluir é utilizado, o parâmetro Caminho necessita de um asterisco (*) para especificar o conteúdo do directório. Por exemplo, -Path C:\Test\*.

  • Se o parâmetro Recurse for adicionado ao comando, o asterisco móvel (*) no parâmetro Pathparameter é opcional. O parâmetro Recuperar obtém itens do diretório Path e dos subdiretórios itssubdirectories. Por exemplo, -Path C:\Test\ -Recurse -Include *.txt
  • Se um asterisco móvel (*) não estiver incluído no parâmetro Path, o comando não retorna nenhum output e retorna ao prompt PowerShell. Por exemplo, -Path C:\Test\.

Exemplo 5: Obter itens filhos usando o parâmetro Exclude

O output do exemplo mostra o conteúdo do directório C:\Test\Logs. A saída é uma referência para os outros comandos que usam os parâmetros Exclude e Recurse.

Get-ChildItem -Path C:\Test\LogsDirectory: C:\Test\LogsMode LastWriteTime Length Name---- ------------- ------ ----d----- 2/15/2019 13:21 Adirectoryd----- 2/15/2019 08:28 AnEmptyDirectoryd----- 2/15/2019 13:21 Backup-a---- 2/12/2019 16:16 20 Afile.txt-a---- 2/13/2019 13:26 20 LogFile1.txt-a---- 2/12/2019 16:24 23 systemlog1.logGet-ChildItem -Path C:\Test\Logs\* -Exclude A*Directory: C:\Test\LogsMode LastWriteTime Length Name---- ------------- ------ ----d----- 2/15/2019 13:21 Backup-a---- 2/13/2019 13:26 20 LogFile1.txt-a---- 2/12/2019 16:24 23 systemlog1.log

O parâmetro Get-ChildItem cmdlet usa o parâmetro Path para especificar o directório C:\Test\Logs.O parâmetro Exclude usa o asterisco (*) para especificar quaisquer ficheiros ou directórios que estão no início com A ou a são excluídos da saída.

Quando o parâmetro Exclude é usado, um asterisco (*) no parâmetro Path é opcional. Por exemplo, -Path C:\Test\Logs ou -Path C:\Test\Logs\*.

  • Se um asterisco móvel (*) não estiver incluído no parâmetro Caminho, o conteúdo do parâmetro Parâmetro do caminho é exibido. As excepções são nomes de ficheiros ou subdirectórios que correspondem ao valor do parâmetroExcluir.
  • Se um asterisco móvel (*) estiver incluído no parâmetro Caminho, o comando volta a aparecer nos subdirectórios do parâmetro Caminho. As excepções são nomes de ficheiros ou subdirectórios que correspondem ao valor do parâmetro Excluir.
  • Se o parâmetro Encaminhar for adicionado ao comando, o output de recursividade é o mesmo quer ornot o parâmetro Caminho inclua um asterisco móvel (*).

Exemplo 6: Obtém as chaves de registo de uma colmeia de registo

Este exemplo obtém todas as chaves de registo de HKEY_LOCAL_MACHINE\HARDWARE.

Get-ChildItem utiliza o parâmetro Caminho para especificar a chave de registo HKLM:\HARDWARE. O caminho da colmeia e o nível superior das chaves de registo são apresentados na consola PowerShell.

Para mais informações, veja about_Registry_Provider.

Get-ChildItem -Path HKLM:\HARDWAREHive: HKEY_LOCAL_MACHINE\HARDWAREName Property---- --------ACPIDESCRIPTIONDEVICEMAPRESOURCEMAPUEFIGet-ChildItem -Path HKLM:\HARDWARE -Exclude D*Hive: HKEY_LOCAL_MACHINE\HARDWAREName Property---- --------ACPIRESOURCEMAP

O primeiro comando mostra o conteúdo da chave de registo HKLM:\HARDWARE. O parâmetro Excluir diz Get-ChildItem para não retornar nenhuma subchave que comece com D*. Actualmente, o parâmetro Excludeparameter só funciona nas subchaves, não nas propriedades do item.

Examplo 7: Obtém todos os certificados com autoridade de assinatura de código

Este exemplo obtém cada certificado no PowerShell Cert: conversor que tem autoridade de assinatura de código.

O parâmetro Get-ChildItem cmdlet utiliza o parâmetro Path para especificar o Cert: fornecedor. O parâmetroRecurse procura o directório especificado por Path e os seus subdirectórios. O parâmetroCodeSigningCert obtém apenas certificados que possuem autoridade de assinatura de código.

Get-ChildItem -Path Cert:\* -Recurse -CodeSigningCert

Para mais informações sobre o provedor de certificados e o Cert: drive,veja about about_Certificate_Provider.

Exemplo 8: Obter itens usando o parâmetro Depth

Este exemplo exibe os itens em um diretório e seus subdiretórios. O parâmetro Profundidade determina o número de níveis de subdiretórios a serem incluídos na recursividade. Diretórios vazios são excluídos da saída.

Get-ChildItem -Path C:\Parent -Depth 2Directory: C:\ParentMode LastWriteTime Length Name---- ------------- ------ ----d----- 2/14/2019 10:24 SubDir_Level1-a---- 2/13/2019 08:55 26 file.txt Directory: C:\Parent\SubDir_Level1Mode LastWriteTime Length Name---- ------------- ------ ----d----- 2/14/2019 10:24 SubDir_Level2-a---- 2/13/2019 08:55 26 file.txt Directory: C:\Parent\SubDir_Level1\SubDir_Level2Mode LastWriteTime Length Name---- ------------- ------ ----d----- 2/14/2019 10:22 SubDir_Level3-a---- 2/13/2019 08:55 26 file.txt

O parâmetro Get-ChildItem cmdlet usa o parâmetro Path para especificar C:\Parent. O Parâmetro de Profundidade especifica dois níveis de recursividade. Get-ChildItem exibe o conteúdo do directório especificado pelo parâmetro Path e os dois níveis de subdirectórios.

Exemplo 9: Obtendo informação de link rígido

Na PowerShell 6.2, foi adicionada uma vista alternativa para obter informação de link rígido.

Get-ChildItem -Path C:\PathContainingHardLink | Format-Table -View childrenWithHardLink

Exemplo 10: Saída para Sistemas Operativos Não-Windows

Na PowerShell 7.1 em sistemas Unix, o Get-ChildItem fornece saída tipo Unix:

PS> Get-ChildItem /etc/r*Directory: /etcUnixMode User Group LastWriteTime Size Name-------- ---- ----- ------------- ---- ----drwxr-xr-x root wheel 9/30/2019 19:19 128 racoon-rw-r--r-- root wheel 9/26/2019 18:20 1560 rc.common-rw-r--r-- root wheel 7/31/2017 17:30 1560 rc.common~previous-rw-r--r-- root wheel 9/27/2019 20:34 5264 rc.netbootlrwxr-xr-x root wheel 11/8/2019 15:35 22 resolv.conf -> /private/var/run/resolv.conf-rw-r--r-- root wheel 10/23/2019 17:41 0 rmtab-rw-r--r-- root wheel 10/23/2019 17:41 1735 rpc-rw-r--r-- root wheel 7/25/2017 18:37 1735 rpc~previous-rw-r--r-- root wheel 10/23/2019 18:42 891 rtadvd.conf-rw-r--r-- root wheel 8/24/2017 21:54 891 rtadvd.conf~previous

As novas propriedades que agora fazem parte da saída são:

  • UnixMode é o tamanho do ficheiro como representado num sistema Unix
  • Usuário é o dono do ficheiro
  • Grupo é o dono do grupo
  • Tamanho é o tamanho do ficheiro ou directório como representado num sistema Unix

>Nota

Esta funcionalidade foi movida do experimental para o principal no PowerShell 7.1.

Parâmetros

-Atributos

Pasta arquivos e pastas com os atributos especificados. Este parâmetro suporta todos os atributos e pontos de venda que você especificar combinações complexas de atributos.

Por exemplo, para obter arquivos não do sistema (não diretórios) que são criptografados ou comprimidos, digite:

Get-ChildItem -Attributes !Directory+!System+Encrypted, !Directory+!System+Compressed

Para encontrar arquivos e pastas com atributos comumente usados, use o parâmetro Atributos. Ou, o Diretório de Parâmetros, Arquivo, Oculto, Somente Leitura e Sistema.

O parâmetro Atributos suporta as seguintes propriedades:

  • Arquivo
  • Comprimido
  • Dispositivo
  • Diretório
  • Criptografado
  • Escondido
  • IntegrityStream
  • Normal
  • NoScrubData
  • NãoConteúdoIndexo
  • Desligado
  • Apenas Leitura
  • Ponto de Separação
  • Arquivo Separado
  • Sistema
  • Temporário

Para uma descrição destes atributos, veja o FileAttributes Enumeration.

Para combinar atributos, use os seguintes operadores:

  • ! (NOT)
  • + (AND)
  • , (OR)

Não use espaços entre um operador e o seu atributo. Os espaços são aceitos após as vírgulas.

Para atributos comuns, use as seguintes abreviações:

  • D (Diretório)
  • H (Escondido)
  • R (Somente leitura)
  • S (Sistema)
Tipo: BandeirasExpressão<T>
Valores aceites: Arquivo, Comprimido, Dispositivo, Diretório, Criptografado, Oculto, IntegrityStream, Normal, NoScrubData, NotContentIndexed, Offline, ReadOnly, ReparsePoint, SparseFile, System, Temporary
Posição: Nome
Valor padrão: Nenhum
Aceitar entrada do gasoduto: Falso
Aceitar caracteres curinga: Falso
Profundidade

Este parâmetro foi adicionado no PowerShell 5.0 e permite controlar a profundidade de recursividade. Bydefault, Get-ChildItem exibe o conteúdo do diretório pai. O parâmetro Profundidade determina o número de níveis de subdirectórios que estão incluídos na recursividade e mostra os conteúdos.

Por exemplo, Depth 2 inclui o directório do parâmetro Path, primeiro nível de subdirectórios e segundo nível de subdirectórios. Por padrão, nomes de diretórios e nomes de arquivos estão incluídos na saída.

Nota

Em um computador Windows a partir do PowerShell ou cmd.exe, você pode exibir uma visualização gráfica da estrutura de diretórios com o comando tree.com.

Type: UInt32
Posição: Nome:
Valor por defeito: Nenhum
Aceitar entrada do pipeline: Falso
Aceitar caracteres curinga: Falso

-Diretório

Para obter uma lista de diretórios, use o parâmetro Diretório ou o parâmetro Atributos com a propriedade Diretório. Você pode usar o parâmetro Recurse com Directory.

Type: SwitchParameter
Aliases: ad, d
Posição: Nome
Valor por defeito: Nenhum
Aceitar entrada do gasoduto: Falso
Aceitar caracteres curinga: Falso
-Excluir

Especifica, como uma string array, uma propriedade ou propriedade que este cmdlet exclui da operação.O valor deste parâmetro qualifica o parâmetro Path. Introduza um elemento ou padrão de caminho, tal como *.txt ou A*. São aceites caracteres wildcard.

Um asterisco (*) no parâmetro Path é opcional. Por exemplo, -Path C:\Test\Logs ou -Path C:\Test\Logs\*. Se um asterisco móvel (*) for incluído, o comando volta aos subdiretórios do parâmetro Caminho. Sem o asterisco (*), o conteúdo do parâmetro Pathparameter é exibido. Mais detalhes estão incluídos no Exemplo 5 e na secção Notas.

Type: String
Posição: Nome:
Valor por defeito: Nenhum
Aceitar entrada do pipeline: Falso
Aceitar caracteres curinga: Verdade
-File

Para obter uma lista de ficheiros, utilize o parâmetro File. Você pode usar o parâmetro Recurse comFile.

Type: SwitchParameter
Aliases: af
Posição: Nome
Valor por defeito: Nenhum
Aceitar entrada de pipeline: Falso
Aceitar caracteres curinga: Falso
Filtro

Especifica um filtro para qualificar o parâmetro Caminho. O FileSystemprovider é o único fornecedor PowerShell instalado que suporta filtros. Os filtros são mais eficientes do que outros parâmetros. O fornecedor aplica o filtro quando o cmdlet obtém os objectos em vez de ter o PowerShell a filtrar os objectos depois de estes serem recuperados. A cadeia de filtros é passada para a API.NET para enumerar os arquivos. A API suporta apenas * e ? wildcards.

Type: String
Posição: 1
Valor por defeito: Nenhum
Aceitar entrada da conduta: Falso
Aceitar caracteres wildcard: Verdadeiro
-FollowSymlink

Por defeito, o Get-ChildItem cmdlet mostra links simbólicos para directórios encontrados durante arecurssão, mas não volta a entrar neles. Use o parâmetro FollowSymlink para pesquisar os diretórios que têm esses links simbólicos como alvo. O FollowSymlink é um parâmetro dinâmico e é suportado apenas no provedor FileSystem.

Este parâmetro foi introduzido no PowerShell 6.0.

Type: SwitchParameter
Position: Named
Valor por defeito: Nenhum
Aceptar entrada do pipeline: Falso
Aceitar caracteres wildcard: Falso
-Force

Permite que o cmdlet obtenha itens que de outra forma não podem ser acessados pelo usuário, tais como arquivos ocultos do sistema. O parâmetro Force não sobrepõe as restrições de segurança. A implementação varia de fornecedor para fornecedor. Para mais informações, veja about_Providers.

Type: SwitchParameter
Position: Named
Valor padrão: False
Aceptar entrada do pipeline: Falso
Aceitar caracteres curinga: Falso

-Oculto

Para obter apenas itens ocultos, use o parâmetro Oculto ou o parâmetro Atributos com a propriedadeOculto. Por padrão, Get-ChildItem não exibe itens escondidos. Use o Parâmetros de Força para obter itens ocultos.

Type: SwitchParameter
Aliases: ah, h
Posição: Nome
Valor por defeito: Nenhum
Aceitar entrada do gasoduto: Falso
Aceitar caracteres curinga: Falso
-Incluir

Especifica, como uma string array, um item ou itens que este cmdlet inclui na operação. O valor deste parâmetro qualifica o parâmetro Path. Introduza um elemento ou padrão de caminho, como por exemplo"*.txt". Os caracteres curinga são permitidos. O parâmetro Include só é efectivo quando o comando inclui o conteúdo de um item, tal como C:\Windows\*, onde os caracteres wildcard especificam o conteúdo do directório C:\Windows.

Type: String
Posição: Nome
Valor por defeito: Nenhum
Aceitar entrada do pipeline: Falso
Aceitar caracteres curinga: Verdade
LiteralPath

Especifica um caminho para um ou mais locais. O valor do LiteralPath é usado exatamente como ele é estilizado. Nenhum caractere é interpretado como wildcards. Se o caminho incluir caracteres de escape, feche entre aspas simples. Aspas simples dizem ao PowerShell para não interpretar nenhum caracteresas sequências de escape.

Para mais informações, veja about_Quoting_Rules.

Type: String
Aliases: PSPath, LP
Position: Named
Valor por defeito: Nenhum
Aceitar entrada do gasoduto: Verdade
Aceitar caracteres curinga: Falso
-Nome

Recebe apenas os nomes dos itens no local. A saída é um objeto string que pode ser enviado para baixo do pipeline para outros comandos. Wildcards são permitidos.

Type: SwitchParameter
Posição: Nome
Valor por defeito: Nenhum
Aceitar entrada do pipeline: Falso
Aceitar caracteres curinga: Verdadeiro
Caminho

Definir um caminho para um ou mais locais. São aceitos os wildcards. A localização padrão é o diretório atual (.).

Type: String
Posição: 0
Valor padrão: Diretório corrente
Aceitar entrada do pipeline: Verdadeiro
Aceitar caracteres curinga: Verdadeiro
Só leitura

Para obter apenas itens de leitura, use o parâmetro ReadOnly ou a propriedade AttributesReadOnly.

Type: SwitchParameter
Aliases: ar
Posição: Nome
Valor por defeito: Nenhum
Aceitar entrada do gasoduto: Falso
Aceitar caracteres curinga: Falso
-Revolver

Encontém os itens nos locais especificados e em todos os itens filhos dos locais.

Tipo: SwitchParameter
Aliases: s
Posição: Nome
Valor por defeito: Falso
Aceitar entrada de pipeline: Falso
Aceitar caracteres curinga: Falso
Sistema

Criar apenas ficheiros de sistema e directórios. Para obter apenas arquivos e pastas do sistema, use a propriedade Sistema de Parâmetros ou Atributos de Sistema.

Type: SwitchParameter
Aliases: as
Posição: Nome
Valor por defeito: Nenhum
Aceitar entrada do gasoduto: Falso
Aceitar caracteres curinga: Falso

Entradas

Corda

Pode canalizar uma corda que contenha um caminho para Get-ChildItem.

Entradas

Objeto

O tipo de objeto que Get-ChildItem retorna é determinado pelos objetos no caminho do provedor.

String

Se usar o parâmetro Name, Get-ChildItem devolve os nomes dos objectos como strings.

Notes

  • Get-ChildItem pode ser executado usando qualquer um dos aliases incorporados, ls, dir, e gci. Para mais informações, veja about_Aliases.
  • Get-ChildItem não recebe itens escondidos por padrão. Para obter itens ocultos, use o Forceparameter.
  • The Get-ChildItem cmdlet é projetado para trabalhar com os dados expostos por qualquer provedor. Para listar os provedores disponíveis em sua sessão, digite Get-PSProvider.Para mais informações, veja about_Providers.
  • >

  • sobre_Certificado_Fornecedor
  • sobre_Fornecedores
  • sobre_Regras de citação
  • sobre_Fornecedor_Registério
  • ParaEach-Objeto
  • Alias
  • Get-Item
  • Get-Localização
  • Get-Processo
  • Get-PSProvider
  • Split-Path

Deixe uma resposta

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