Reúne os itens e os itens filhos em um ou mais locais especificados.
- Syntax
- Descrição
- Exemplos
- Exemplo 1: Obtenha os itens filhos de um diretório de sistema de arquivos
- Exemplo 2: Obtenha nomes de itens filhos em um diretório
- Exemplo 3: Obter itens filhos no directório e subdirectórios actual
- Exemplo 4: Obter itens filhos utilizando o parâmetro Incluir
- Exemplo 5: Obter itens filhos usando o parâmetro Exclude
- Exemplo 6: Obtém as chaves de registo de uma colmeia de registo
- Examplo 7: Obtém todos os certificados com autoridade de assinatura de código
- Exemplo 8: Obter itens usando o parâmetro Depth
- Exemplo 9: Obtendo informação de link rígido
- Exemplo 10: Saída para Sistemas Operativos Não-Windows
- Parâmetros
- Entradas
- Entradas
- Notes
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
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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 |
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
, egci
. 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, digiteGet-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