FOR: Executa um determinado comando para cada arquivo em um grupo de arquivos.


... "FOR" Trecho da Ajuda do Microsoft Windows
... Os exemplos para o comando "FOR"
... Informações importantes, dicas para o comando "FOR"

O comando: "FOR" está ativado Windows 11, 10, .. disponível

"FOR" Trecho da Ajuda do Microsoft Windows

Microsoft Windows [Version 10.0.19045.3693]
(c) Copyright 1985-2023 Microsoft Corp.

C:\\Windows>

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

FOR %variável IN (conjunto) DO comando [parâmetros]

%variável Especifica um parâmetro substituível formado por uma só letra.
(conjunto) Especifica um conjunto de um ou mais arquivos. Podem-se
usar curingas.
comando Especifica o comando a ser executado em cada arquivo.
parâmetros Especifica os parâmetros ou opções do comando especificado.


Para usar o comando FOR em um programa em lotes, especifique %%variável em
vez de %variável. Diferenciam-se maiúsculas de minúsculas nos nomes das
variáveis, de forma que, por exemplo, %i é diferente de %I.

Se as extensões de comando estiverem ativadas, haverá suporte para os
seguintes formatos adicionais do comando FOR:

FOR /D %variável IN (conjunto) DO comando [parâmetros]

Se o conjunto contiver curingas, ele corresponderá aos nomes
de pasta em vez de nomes de arquivo.

FOR /R [[unidade:]caminho] %variável IN (conjunto) DO comando [parâmetros]

Orienta a árvore de pastas com raiz na [unidade:]caminho, executando a
instrução FOR em cada pasta da árvore. Se não houver especificação de
pasta após /R, a pasta atual será usada. Se o conjunto for apenas um
único caractere de ponto (.), ele enumerará apenas a árvore de pastas.

FOR /L %variável IN (início,incremento,fim) DO comando [parâmetros]

O conjunto é uma seqüência de números de início ao fim, por quantidade de
incremento. Portanto, (1,1,5) geraria a seqüência 1 2 3 4 5 e (5,-1,1)
geraria a seqüência (5 4 3 2 1)

FOR /F ["opções"] %variável IN (conjunto_de_arquivos) DO comando
[parâmetros]
FOR /F ["opções"] %variável IN ("cadeia_de_caracteres") DO comando
[parâmetros]
FOR /F ["opções"] %variável IN ('comando') DO comando [parâmetros]

ou, se a opção usebackq estiver presente:

FOR /F ["opções"] %variável IN (conjunto_de_arquivos) DO comando
[parâmetros]
FOR /F ["opções"] %variável IN ('cadeia_de_caracteres') DO comando
[parâmetros]
FOR /F ["opções"] %variável IN (`comando`) DO comando [parâmetros]

conjunto de nomes de arquivo é um ou mais nomes de arquivos. Cada
arquivo é aberto, lido e processado antes de se passar para o próximo
arquivo em conjunto de nomes de arquivo. O processamento consiste em
ler o arquivo, quebrá-lo em linhas individuais de texto e analisar
cada linha para zero ou mais tokens. O corpo de for loop é chamado
em seguida com o conjunto de valores de variável para a(s) cadeia(s)
de caracteres de token encontrada(s). Por padrão, /F transfere o
primeiro token separado por espaço de cada linha de cada arquivo.
As linhas em branco são ignoradas. É possível substituir o comportamento
de análise padrão especificando os parâmetros "opções" opcionais. Essa
é uma cadeia de caracteres entre aspas que contém uma ou mais
palavras-chave para especificar diferentes opções de análise. As
palavras-chave são:

eol=c - especifica caractere de comentário de fim de linha
(somente um)
skip=n - especifica o número de linhas a serem ignorados no
início do arquivo.
delims=xxx - especifica um conjunto de delimitadores. Substitui
o conjunto de delimitadores padrão de espaço e
tabulação.
tokens=x,y,m-n - especifica quais tokens de cada linha serão
transferidos para o corpo de cada iteração.
Isso alocará nomes de variáveis
adicionais. O formato m-n é um intervalo,
especificando do emésimo até o enésimo token. Se
o último caractere na cadeia de caracteres tokens=
for um asterisco, uma variável adicional será 
alocada
e receberá o texto restante na linha após o último
token analisado.
usebackq - especifica que a nova semântica está em vigor,
onde uma cadeia de caracteres entre aspas
simples é executada como um comando e uma
cadeia de caracteres entre aspas simples é um
comando de cadeia de caracteres literal e
permite o uso de aspas para citar nomes de arquivos
em um conjunto de nomes de arquivo.

Alguns exemplos podem ajudar:

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

analisaria cada linha em meu_arquivo.txt, ignorando linhas que começassem
com um ponto-e-vírgula, passando o segundo e terceiro token de cada
linha para o corpo do comando for, com tokens delimitados por vírgulas
e/ou espaços. Observe que comandos dentro do corpo do for fazem 
referência
a %i para obter o segundo token, %j para obter o terceiro token e
%k para obter todos os tokens restantes após o terceiro. No caso de
nomes de arquivos contendo espaços, é necessário colocá-los entre aspas.
Para usar aspas dessa forma, também é necessário usar a opção usebackq ou
as aspas serão interpretadas como se estivessem definindo uma cadeia
de caracteres literal a ser analisada.

%i é declarado explicitamente na instrução for e %j e %k
são declarados implicitamente através da opção tokens=. É possível
especificar até 26 tokens através da linha tokens=, contanto que
isso não origine uma tentativa de declarar uma variável mais alta do que
a letra 'z' ou 'Z'. Lembre-se de que as variáveis FOR são formadas por
uma só letra, diferenciam maiúsculas e minúsculas, são globais e
não é possível haver mais de 52 ativas no total em momento algum.

Também é possível usar a lógica de análise de FOR /F em uma cadeia
de caracteres imediata, ao transformar o conjunto de nomes de arquivo
dentro de parêntesis em uma cadeia de caracteres entre aspas simples.
A cadeia de caracteres será tratada como uma única linha de entrada de um 
arquivo e
será analisada.

Finalmente, é possível usar o comando FOR /F para analisar a saída de um
comando. Para isso, transforme o conjunto de nomes de arquivo dentro dos
parênteses em uma cadeia de caracteres entre aspas simples. A cadeia de 
caracteres
será tratada como uma linha de comando, que será transferida para um
CMD.EXE filho e a saída será capturada na memória e analisada como se
fosse um arquivo. Assim, o seguinte exemplo:

FOR /F "usebackq delims==" %i IN (`conjunto`) DO @echo %i

enumeraria os nomes de variáveis de ambiente no ambiente atual.

Além disso, a substituição das referências da variável FOR foi aprimorada.
Agora é possível usar a seguinte sintaxe opcional:

%~I - expande %I removendo quaisquer aspas em volta (")
%~fI - expande %I para um nome de caminho totalmente qualificado
%~dI - expande %I para somente uma letra de unidade
%~pI - expande %I para somente um caminho
%~nI - expande %I para somente um nome de arquivo
%~xI - expande %I para somente uma extensão de arquivo
%~sI - o caminho expandido contém somente nomes curtos
%~aI - expande %I para atributos de arquivo do arquivo
%~tI - expande %I para data/hora do arquivo
%~zI - expande %I para o tamanho do arquivo
%~$PATH:I - pesquisa as pastas listadas na variável
de ambiente PATH e expande %I para o
nome totalmente qualificado da primeira pasta encontrada.
Se o nome da variável de ambiente não estiver definido
ou o arquivo não for encontrado pela pesquisa, esse
modificador expandirá para a cadeia de caracteres vazia

Os modificadores podem ser combinados para obter resultados compostos:

%~dpI - expande %I para somente uma letra de unidade e caminho
%~nxI - expande %I para somente um nome de arquivo e extensão
%~fsI - expande %I para somente um nome de caminho completo com
nomes curtos
%~dp$PATH:I - pesquisa as pastas listadas na variável de ambiente PATH
para %I e expande para a letra de unidade e caminho da
primeira encontrada.
%~ftzaI - expande %I para uma linha de saída parecida com DIR

Nos exemplos acima, %I e PATH podem ser substituídos por outros valores
válidos. A sintaxe %~ é terminada por um nome de variável FOR válido.
O uso de nomes de variáveis em maiúsculas como %I facilita a leitura e
evita confusão com os modificadores, que não fazem diferenciação entre
maiúsculas e minúsculas.

Os exemplos para o comando "FOR"

O`FOR`O comando no prompt de comando do Windows é usado para fazer loop em arquivos em lote. aqui estão alguns exemplos: Exemplo 1: Percorrendo arquivos em um diretório:

FOR %G IN (diretório\*) DO ECHO %G

Descrição: Este comando imprime o nome de cada arquivo no diretório especificado. Exemplo 2: Loop através de arquivos com uma extensão de arquivo específica:

FOR %G IN (diretório\*.txt) DO ECHO %G

Descrição: Imprime o nome de cada arquivo de texto no diretório especificado. Exemplo 3: Iterando arquivos recursivamente em subdiretórios:

FOR /R diretório %G IN (*.txt) DO ECHO %G

Descrição: Percorre recursivamente todos os subdiretórios do diretório especificado e imprime o nome de cada arquivo de texto. Exemplo 4: Percorrendo números em um intervalo específico:

FOR /L %G IN (1,1,10) DO ECHO %G

Descrição: Produz os números de 1 a 10. Exemplo 5: Loop através de caracteres em uma string:

FOR %G IN ("Olá") DO ECHO %G

Descrição: Imprime cada letra da palavra "Olá". Exemplo 6: Loop pelo conteúdo do arquivo linha por linha:

FOR /F "tokens=*" %G IN (arquivo.txt) DO ECHO %G

Descrição: Itera pelas linhas do arquivo "File.txt" e gera cada linha. Exemplo 7: Iterando por meio de variáveis ​​de ambiente:

FOR %G IN (%PATH%) DO ECHO %G

Descrição: Itera pelos caminhos na variável de ambiente`PATH`e gera cada caminho. Exemplo 8: Uso de`SET`em um loop:

FOR %G IN (1 2 3) DO SET /A Número=%G * 2 & ECHO Duplo de %G é %Número%

Descrição: Define uma variável`Número`para o dobro do número atual no loop e imprime isso. Exemplo 9: Iterando através de subdiretórios e arquivos:

FOR /R %G IN (*) DO ECHO %G

Descrição: Percorre recursivamente todos os subdiretórios e arquivos no diretório atual. Exemplo 10: Loops aninhados:

FOR %G IN (1 2) DO FOR %H IN (A B) DO ECHO %G%H

Descrição: Aninha dois loops e imprime todas as combinações de %G e %H. Observe que em arquivos em lote`%`através`%%`deve ser substituído. Por exemplo:`FOR %G IN (...) DO ECHO %%G`. Apenas o sinal de um por cento é usado no prompt direto (`%`).

Informações importantes, dicas para o comando "FOR"

Ao usar o`FOR`comando no prompt de comando do Windows, há alguns pontos importantes a serem observados: 1. Sintaxe em arquivos em lote: Se você tiver o`FOR`comando em um arquivo em lote, você deve`%`através`%%`substituto. Por exemplo:`FOR %%G IN (...) DO ECHO %%G`. 2. Uso de variáveis: Normalmente você usa variáveis ​​(por exemplo,`%%G`) no`FOR`-Loop para armazenar valores. Observe que as variáveis ​​não podem acessar os valores atribuídos fora do loop.

SET Variable=Valor inicial
FOR %%G IN (Valor1 Valor2) DO SET Variable=%%G
ECHO %Variable%

Aqui vai`%Variable%`mantenha o valor "valor inicial" porque o`SET`-Instruções em separado`FOR`loop é executado. 3. Espaços em caminhos ou nomes de arquivos: Se caminhos ou nomes de arquivos contiverem espaços, o caminho ou nome de arquivo deverá ser colocado entre aspas para garantir que sejam interpretados corretamente.

FOR %%G IN ("Diretório com espaços\Arquivo com espaços.txt") DO ECHO %%G

4. Opções para o`FOR /F`-Loop: Se você`FOR`em conexão com o`/F`opção (por exemplo,`FOR /F "tokens=*" %%G IN (arquivo.txt) DO ECHO %%G`), você precisa conhecer a sintaxe do`tokens`e`delims`Ajuste as opções cuidadosamente para obter os resultados desejados. 5. Loops aninhados: Com loops aninhados, você deve garantir o uso correto de`%`ou`%%`preste atenção para garantir que as variáveis ​​sejam referenciadas no loop correto.

FOR %%G IN (1 2) DO (
    ECHO Laço externo: %%G
    FOR %%H IN (A B) DO ECHO Laço interno: %%H
)

6. Fim das linhas do arquivo em`FOR /F`: Se você`FOR /F`para iterar nas linhas de um arquivo, por padrão, cada linha até o primeiro espaço ou tabulação é considerada um token. Você pode fazer isso com a opção`delims`ajustar.

FOR /F "tokens=* delims=" %%G IN (arquivo.txt) DO ECHO %%G

7. Opções de variáveis ​​de data e hora: Se você tiver o`%DATE%`- ou`%TIME%`-Variáveis ​​em um`FOR`-Loop, você deve ficar atento à configuração regional do sistema, pois o formato pode variar. 8. Iterando arquivos com codificação UTF-8: O`FOR /F`O comando pode ter dificuldade para iterar arquivos com codificação UTF-8. Nesses casos, talvez seja melhor usar outras ferramentas como`FINDSTR`usar. É importante considerar os requisitos específicos do seu caso de uso e o`FOR`-Ajuste o loop de acordo. Você pode`FOR /?`no prompt de comando para ver a ajuda completa e todas as opções disponíveis.


Deutsch
English
Español
Français
Italiano
日本語 (Nihongo)
한국어 (Hangugeo)
汉语 (Hànyǔ)
Türkçe
Português
Português
Svenska
Norsk
Dansk
Suomi
Nederlands
Polski









Windows-10


... Windows 10 FAQ
... Windows 10 How To


Windows 10 How To


... Windows 11 How To
... Windows 10 FAQ



O comando FOR - Executa um determinado comando para cada arquivo em um grupo de arquivos.

HTTP: ... console/br/032.htm
0.14
17549

On Windows 8.1 or 10, open files with desktop programs and not with APPs!

Can I use the search box in the Windows Explorer file search 8.1, 10, 11!

Use Pixel Tester Portable and Windows 10 problems!?

Can I start Windows 8.1 / 10 in Safe Mode (Diagnostic-, Selective-, Normal- Startup)?

Turn off auto start of the speech recognition in Windows 8.1 (turn off)?

Safely remove USB drives via a Windows 8/8.1 or 10 desktop shortcut!



(0)