Como iterar o conteúdo de um arquivo de texto no Powershell

18 de dezembro de 2021 43837 Visualizações Sintaxe do PowerShell ForEach

Se você tiver um arquivo de texto com dados que deseja usar, poderá usar o PowerShell Obter conteudo para listar o conteúdo do arquivo. Em seguida, use o loop PowerShellForEach para percorrer o arquivo linha por linha.





Você também pode usar o cmdlet ForEach-Object para percorrer o conteúdo do arquivo listado com o Obter conteudo comando.



Por fim, há uma Para cada Método na saída do Obter conteudo comando. Você também pode usar o ForEach Método para iterar o conteúdo de um arquivo de texto.

Procurar tópicos de postagem



Como usar Get-Content para listar o conteúdo de um arquivo

Como usar Get-Content para listar o conteúdo de um arquivo

Antes de poder iterar o conteúdo de um arquivo de texto com o PowerShell Para cada , você deve listar o conteúdo com o Obter conteudo comando.



A sintaxe geral do Obter conteudo comando é…

|_+_|

O Obter conteudo O comando lê o conteúdo de um arquivo de texto linha por linha. Em seguida, ele retorna uma coleção de objetos.



Além disso, um objeto na coleção de objetos representa uma linha do conteúdo no arquivo de texto. Este ponto é importante porque significa que podemos acessar os objetos individuais retornados pelo Obter conteudo comando.



Isso é o que nos dá a capacidade de usar o PowerShell Para cada para iterar o conteúdo de um arquivo de texto – linha por linha.

Outra característica importante do Obter conteudo comando é que ele pode ler um número especificado de linhas do início ou do fim de um arquivo de texto.

Para iniciar exemplos neste guia, execute o comando abaixo:

|_+_|

Aqui está o conteúdo do arquivo de texto usado no comando. O comando lista o conteúdo do arquivo e o salva em uma variável chamada arquivos .

Como iterar o conteúdo de um arquivo de texto no Powershell

Finalmente, para ilustrar meu ponto anterior sobre a leitura de um número especificado de linhas no início ou no final do arquivo - execute o comando abaixo:

|_+_|

O comando lê as três primeiras linhas do arquivo de texto especificado. Isso é especificado pelo Cabeça parâmetro.

Aqui está o resultado do comando…

Alternativamente, você pode retornar as últimas N linhas com o Cauda parâmetro do Obter conteudo comando.

Aqui está um comando de exemplo que retorna as últimas 4 linhas de um arquivo…

|_+_|

E aqui está o resultado do comando…

Como iterar o conteúdo de um arquivo de texto no Powershell

Como usar o loop ForEach do PowerShell e obter conteúdo para iterar por meio de um arquivo

Como usar o loop ForEach do PowerShell e obter conteúdo para iterar por meio de um arquivo

Na minha introdução a este guia, mencionei que a primeira etapa para iterar o conteúdo de um arquivo de texto com o PowerShell é listar seu conteúdo.

Também mencionei que depois de listar o conteúdo de um arquivo de texto com a Obter conteudo comando, você pode usar o PowerShell Para cada para iterar o conteúdo do arquivo de texto.

Por fim, mencionei que você pode iterar um arquivo de texto com o PowerShell Para cada ciclo, Para cada -Object Cmdlet, ou o Para cada Método .

Na primeira seção deste guia, mostrei como usar o Obter conteudo comando para listar o conteúdo de um arquivo de texto. Além disso, executei este comando que salvou o conteúdo do arquivo especificado no arquivos variável.

|_+_|

Nesta seção, ensinarei a você a sintaxe do Para cada ciclo. Em seguida, mostrarei um exemplo de Powershell ForEach $file em $files – essencialmente, usando Para cada loop para iterar arquivos armazenados em nosso arquivos variável.

Vamos rolar!

Sintaxe do PowerShell ForEach Loop

A sintaxe do PowerShell ForEach Loop é…

|_+_|

Na sintaxe, $arquivos representa uma variável com uma lista de itens. Neste exemplo, o $arquivos variável é a saída do Obter conteudo comando mostrado abaixo…

|_+_|

De volta à sintaxe do PowerShell ForEach Loop, a variável $arquivo representa cada item salvo em $arquivos variável.

Além disso, cada vez que o ForEach Loop passa por um ciclo, ele salva um dos $arquivos variável no tempo $arquivo variável. Em seguida, ele usa essa variável salva temporariamente no colchete de comando {}, do ForEach.

Powershell ForEach $file em $files Exemplo

Na última subseção, mostrei a sintaxe do ForEach Loop como…

|_+_|

Expliquei também que em cada ciclo do loop Powershell ForEach, ele salva um dos objetos salvos no $arquivos variável em uma variável temporal chamada $arquivo .

Nesta seção, usarei este princípio para iterar o conteúdo do arquivo de texto salvo em $arquivos variável. Então, na parte de comando do loop ForEach, usarei o Novo item comando para criar uma pasta com os itens salvos na variável temporal, $arquivo .

Aqui está o comando que faz o trabalho…

|_+_|

Antes de executar o comando, aqui está uma captura de tela da pasta D:PS-TutorialForEachEx

Para executar o script, copie-o para um novo documento no PowerShel ISE . Em seguida, execute o script clicando no ícone destacado.

Depois de executar o comando, as pastas são criadas em D:PS-TutorialForEachEx :

Caso você tenha esquecido, esses são os mesmos itens listados no meu arquivo de texto original!

Como iterar o conteúdo de um arquivo de texto no Powershell

Em essência, o loop PowerShell ForEach iterava o conteúdo do arquivo de texto (retornado pelo Obter conteudo comando). Em seguida, usei os resultados para criar uma nova pasta…

Como usar o PowerShell ForEach-Object e Get-Content para iterar por meio de um arquivo

Como usar o PowerShell ForEach-Object e Get-Content para iterar por meio de um arquivo

Na última seção, mostrei como usar o loop PowerShell ForEach para iterar o conteúdo do arquivo de texto retornado pelo Obter conteudo comando.

starz ativar xbox um

Nesta seção, mostrarei como usar o cmdlet ForEach-Object para executar a mesma tarefa. Mas primeiro, vamos começar com a sintaxe do comando ForEach-Object.

Sintaxe do comando PowerShell ForEach-Object

Para fins práticos, a sintaxe do comando PowerShell ForEach-Object é…

|_+_|

O PowerShell ForEach-Object pega os valores de objetos de um pipeline e executa o comando especificado no bloco de comando {} de ForEach-Object.

Ao contrário do PowerShell Para cada Loop onde, em cada ciclo, um objeto é salvo em uma variável temporal especificada – no PowerShell ForEach-Object , o objeto é salvo em um objeto automático temporal na variável de pipeline atual, $_.

Por fim, o PowerShell ForEach-Object usa a variável automática $_ como entrada para executar o comando no bloco de comando {}.

Mais na próxima subseção…

Powershell ForEach-Object $_ In $files Exemplo

Neste exemplo, usarei o conteúdo do arquivo salvo no $arquivos variável, para criar pastas. O exemplo é semelhante ao que fizemos no Para cada Seção de loop.

No entanto, em vez de usar Para cada Loop, vamos usar ForEach-Object Cmdlet.

Antes de prosseguir, vejamos a captura de tela do arquivo de texto original.

Além disso, aqui está o script que salvou o conteúdo do arquivo no $arquivos variável.

|_+_|

Agora que atualizamos nossas mentes sobre o arquivo de texto original, vamos ver como usar o arquivo no PowerShell ForEach-Object comando.

Aqui está o script que cria pastas com o conteúdo do arquivo de texto:

|_+_| Neste script, quero criar as pastas em uma pasta diferente, D:PS-TutorialForEach-ObjectEx . Para confirmar que a pasta está vazia antes de executar o script, aqui está a captura de tela… Como usar o PowerShell ForEach-Object e Get-Content para iterar por meio de um arquivo

Para executar o script, copie-o para o PowerShell ISE e execute-o.

Depois de executar o script, novas pastas (com os nomes dos arquivos no arquivo de texto) agora são criadas no D:PS-TutorialForEach-ObjectEx .

Como usar o método PowerShell ForEach() e obter conteúdo para iterar por meio de um arquivo

Como usar o método PowerShell ForEach() e obter conteúdo para iterar por meio de um arquivo

Como usar o método PowerShell ForEach() e obter conteúdo para iterar por meio de um arquivo

Até agora, este guia abordou como listar o conteúdo de um arquivo de texto com o comando Get-Content. Também abordei como iterar o conteúdo de um arquivo de texto com o loop ForEach do PowerShell e o Cdlet ForEach-Object.

Nesta seção, você aprenderá a iterar o conteúdo de um arquivo de texto com o método PowerShell ForEach. Assim como nas outras seções, iniciarei esta seção com a sintaxe do método PowerShell ForEach.

Sintaxe do PowerShell ForEach() Método Comando

A sintaxe do comando do método PowerShell ForEach() é…

|_+_|

Como todos os PowerShell Métodos , para acessar o ForEach Método , insira um ponto após o objeto, seguido pela palavra Para cada .

Então depois Para cada , insira um colchete de abertura, (. Em seguida, insira um bloco de comando {} – seus comandos são executados dentro desse bloco.

Por fim, feche o ForEach Método bloco com um colchete de fechamento, ).

Assim como o comando ForEach-Object, o comando ForEach Método usa o objeto automático temporal na variável de pipeline atual, $_.

Na próxima subseção, você verá como usar o ForEach Método .

Powershell ForEach() $_ Em $files Exemplo

O script nesta seção acessa o Para cada Método no $arquivos variável – a variável criada com este comando…

|_+_|

Aqui está o script que usa Para cada Método para iterar o conteúdo do arquivo de texto, salvo em $arquivos variável. Em seguida, cria uma pasta com cada item.

|_+_|

Neste exemplo, estarei criando as pastas no caminho, D:PS-TutorialForEachMethodEx . Mais uma vez, para confirmar que a pasta está vazia antes de executar o script acima, aqui está uma captura de tela da pasta…

Como os outros dois scripts, para executar este script, copie-o para o PowerShell ISE.

Depois de executar o script, ele criou as pastas usando as informações do arquivo de texto.

É isso! Nossa versão atualizada de Como iterar o conteúdo de um arquivo de texto no Powershell.

Você encontrou este guia porque pesquisou por foreach no arquivo powershell ou em sua variante. Espero ter conseguido responder sua pergunta.

Se eu respondi sua pergunta, por favor vote sim para a pergunta Foi este post útil abaixo.

Alternativamente, você pode fazer uma pergunta, deixar um comentário ou fornecer mais feedback com o formulário Deixe uma resposta encontrado no final desta página.

Por fim, para obter mais zonas S de tecnologia do PowerShell, visite nossa página de guia de instruções do Windows PowerShell. Você também pode achar nossa página Work from Home muito útil.

Este artigo foi completamente reescrito e atualizado com novos exemplos.

Referências e Leituras Adicionais

  1. Obter conteudo
  2. ForEach-Object
  3. about_Foreach
  4. PowerShell ForEach: sintaxe, parâmetros, exemplos
  5. 18 comandos Powershell mais úteis para administradores do Windows