
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 dir
comando lista apenas os nomes dos arquivos. Portanto, %i
a variável é preenchida com caminhos relativos. Se o comando não for executado no diretório em questão, use %~fi
para 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 dadir
saída.