Classificar e copiar arquivos de texto pela linha de comando para um único arquivo gera um erro

Classificar e copiar arquivos de texto pela linha de comando para um único arquivo gera um erro

Me deparei com a pergunta 217394 que explica como copiar arquivos classificados em ordem alfabética em um único arquivo. Tentar implementar o comando sozinho gerou a seguinte mensagem de erro: O sistema não consegue encontrar o arquivo especificado.
O comando que estou tentando executar está aqui:

for /f %i in ('dir /ad /on /b O:\OrdersExport\Order*.txt') do @type %i >> C:\Users\Admin\Documents\OrderImport.txt

O erro não aparece se eu navegar primeiro até a pasta em questão:

C:\>O:
C:\>cd OrdersImportar

Eu simplesmente quero que uma linha seja copiada do destino para esse único arquivo.

A propósito, se for importante, O: é uma pasta mapeada na rede

Responder1

O dircomando lista apenas os nomes dos arquivos. Portanto, %ia variável é preenchida com caminhos relativos. Se o comando não for executado no diretório em questão, use %~fipara expandir o caminho relativo para o caminho absoluto.

for /f "tokens=*" %i in ('dir /a-d /o-n /b "O:\OrdersExport\Order*.txt"') do (
    @type "%~fi" >> "C:\Users\Admin\Documents\OrderImport.txt"
)
  • tokens=*lida com espaços em nomes de arquivos, portanto %ié sempre a linha inteira da dirsaída.

informação relacionada