TransWikia.com

Traduzindo comando copy do CMD para o Copy-Item do PowerShell

Stack Overflow em Português Asked by ronaldofas on December 4, 2021

Estou tentando traduzir um comando do para o mas não estou conseguindo.

Recebo vários arquivos.txt durante o mês, coloco todos na mesma pasta, alguns possuem termos específicos no nome que uso para selecionar e concatenar os semelhantes.

Mas no final do mês, concateno todos em um único arquivo para trabalhar com todos de uma única vez, esse processo de concatenação no CMD eu efetuava da seguinte forma:

’copy abobrinha.txt TodasAbobrinhas.txt’

Traduzindo:

  • copy – comando que efetua a cópia;

  • abobrinha.txt – seleciona todos os arquivos com o termo "abobrinha" no nome para concatenar;
    TodasAbobrinhas.txt – arquivo final com todos os arquivos concatenados.

Ao tentar usar esse comando no ele executa mas não gera o arquivo esperado e também não dá nenhuma mensagem de erro.

Alguém consegue me dar uma dica para fazer esse processo no PowerShell?

Já agradeço a atenção de todos.

2 Answers

Mostrando a utilização do script Como o seu objetivo é copiar o conteúdo dos arquivos *abobrinha*.txt já concatenando em outro arquivo com nome TodasAbobrinhas.txt, acredito que os passos para alcançar seu objetivo seja:

  1. Pega o conteúdo do arquivos filtrando TodasAbobrinhas.txt que sera gerada com o conteúdo do primeiro, assim passa a existir durante execução, mas é evitado:

    Get-ChildItem *abobrinha*.txt -Exclude TodasAbobrinhas.txt
    
  2. Pega o conteúdo de cada item/arquivo mantendo o códigos de caracteres:

    Foreach-Object {Get-Content $_ -Raw}
    
  3. Move os respectivos conteúdos dos arquivos para o arquivo de saída apontado:

    Out-File TodasAbobrinhas.txt
    

 Get-ChildItem *abobrinha*.txt -Exclude TodasAbobrinhas.txt|Foreach-Object {Get-Content $_ -Raw}| Out-File TodasAbobrinhas.txt
  • Ou uma segunda opção portada para seu caso de postagem SO/EN Q:8749929 mais simples:
cat *abobrinha*.txt -E TodasAbobrinhas.txt | sc TodasAbobrinhas.txt
  • Obs1.: -E == -Exclude : é o mesmo

  • Obs2.: Notas do Operador SO/EN @Gishu:

Nota 1: O cat é um alias para Get-Content, e sc é um alias para o Set-Content.

Nota 2: A saída para um arquivo com > não preserva a codificação de caracteres! É por isso que o uso de Set-Content (sc) é recomendado.

Answered by Io-ol on December 4, 2021

Tente assim no PowerShell

copy-item *abobrinha*.txt -destination todasabobrinhas.txt

Answered by Patrick Perdigão on December 4, 2021

Add your own answers!

Ask a Question

Get help from others!

© 2024 TransWikia.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP