Tentando processar arquivos usando um lote. Sem saída, nada acontece
-
27-09-2019 - |
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?
Solução
Você tem vários erros no seu exemplo:
FOR
O nome do parâmetro é apenas uma única letraCALL
é 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