Pergunta

Estou tentando passar os arquivos um por um (tenho que pontilhá -lo, pois o executável aceita apenas um arquivo por vez). Então, no meu lote, estou seguindo:

FOR /F %file IN ('dir /b /s *.css') DO CALL myExecutable.exe %file 

Devo ver os arquivos no mesmo diretório, mas nada acontece, também não são exibidos erros. Estou perdendo alguma coisa aqui?

Foi útil?

Solução

Você tem vários erros no seu exemplo:

  • FOR O nome do parâmetro é apenas uma única letra
  • CALL é usado para chamar outro arquivo em lote ou uma sub -rotina no arquivo em lote existente, não executáveis
  • a FOR O parâmetro deve ser referenciado com dois %, quando no arquivo em lote
  • Você precisa usar um delimitador não espacial, se o diretório você executar este comando ou qualquer subdiretório, ou se algum dos arquivos tiver um espaço no nome

Com isso em mente, aqui está o comando certo que você deve estar usando:

for /f "usebackq delims=|" %%f in (`dir /b /s *.css`) do myexecutable.exe "%%f"

Aqui está minha resposta a uma pergunta semelhante, onde eu dou mais detalhes sobre o uso FOR Para processar todos os arquivos em um diretório.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top