For

Executa um determinado comando para cada arquivo em um conjunto de arquivos.

Sintaxe

for {%variável|%%variávelin (conjunto) do comando [opções_da_linha_de_comando]

Parâmetros

{%variável|%%variável}
Obrigatório. Representa um parâmetro substituível. Utilize %variável para executar for a partir do prompt de comando. Utilize %%variável para executar o comando for dentro de um arquivo em lotes. As variáveis diferenciam maiúsculas de minúsculas e devem ser representadas com um valor alfabético, como %A, %B ou %C.
(conjunto)
Obrigatório. Especifica um ou mais arquivos, pastas, intervalo de valores ou sequências de texto a serem processados com o comando especificado. Os parênteses são obrigatórios.
comando
Obrigatório. Especifica o comando a ser executado em cada arquivo, pasta, intervalo de valores ou sequência de texto incluído no (conjunto) especificado.
opções_da_linha_de_comando
Especifica quaisquer opções da linha de comando a serem utilizadas com o comando especificado.
/?
Exibe ajuda no prompt de comando.

Comentários

Exemplos

Para usar for em um arquivo em lotes, utilize a seguinte sintaxe:

for %%variável in (conjunto) do comando [opções_da_linha_de_comando]

Para mostrar o conteúdo de todos os arquivos da pasta atual que tenham a extensão .doc ou .txt usando a variável substituível %f, digite:

for %f in (*.doc *.txt) do type %f

Nesse exemplo, cada arquivo que tenha a extensão .doc ou .txt na pasta atual é substituído pela variável %f até o conteúdo de todos os arquivos ser exibido. Para usar este comando em um arquivo em lotes, substitua todas as ocorrências de %f por %%f. Caso contrário, a variável será ignorada e uma mensagem de erro será mostrada.

Para analisar um arquivo ignorando linhas comentadas, digite:

for /F "eol=; tokens=2,3* delims=," %i in (meuarq.txt) do @echo %i %j %k

Esse comando analisa cada linha de meuarq.txt, ignorando linhas que comecem com um ponto-e-vírgula, passando o segundo e terceiro símbolo de cada linha para o corpo de FOR (os símbolos são delimitados por vírgulas ou espaços). O corpo da instrução FOR faz referência a %i para obter o segundo símbolo, %j para obter o terceiro símbolo e %k para obter todos os símbolos restantes. Se os nomes de arquivo fornecidos contiverem espaços, delimite o texto por aspas (por exemplo, "nome do arquivo"). Para usar aspas, você deve usar usebackq. Caso contrário, as aspas serão interpretadas como definidoras de uma sequência de caracteres literal a ser analisada.

%i é explicitamente declarado na instrução FOR, e %j e %k são implicitamente declarados usando tokens=. Você pode especificar até 26 símbolos usando tokens=, contanto que não provoque uma tentativa de declarar uma variável maior que a letra 'z' ou 'Z'.

Para analisar a saída de um comando colocando conjunto_de_arquivos entre parênteses, digite:for /F "usebackq delims==" %i IN (`conjunto`) DO @echo %i

Esse exemplo enumera os nomes de variáveis de ambiente no ambiente atual.XOX