Não é possível executar o loop FOR do arquivo de lote

0

Estou tentando executar o seguinte comando dentro de um arquivo em lotes:

@echo off & for /f "delims=*" %A in ('dir /s /b') do echo %~fA %~zA >> "\path\to\output.txt"

Eu encontrei este comando de outro tópico . Imprime toda a lista de arquivos junto com o tamanho do arquivo.

Eu sou capaz de executar isso muito bem quando colando em uma janela de linha de comando, mas quando eu jogo em um arquivo de lote nada acontece. Estou esquecendo de algo? Por que isso falharia quando executado de um .bat?

    
por Michael Pappas 06.04.2016 / 20:32

1 resposta

1

Experimente %% , por exemplo for %%f em vez de for %f , que pode funcionar Em arquivos em lote, você precisa usar for %%f em vez de for %f O for %f é somente para a linha de comando. Alterar todas as referências, então suponho %%~zA em vez de %~zA

Você deveria realmente ter solucionado problemas e tentado até mesmo um simples loop, como for %a in (*.*) do @ECHO %a você perceberia que ele também funcionava na linha de comando e não em um arquivo de lote e talvez você tivesse descoberto o %% exigência.

    
por 06.04.2016 / 22:22