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


 


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

O comando: "FOR" está ativado Windows 12, 11, 10, .. , MS Server 2025, 2022, 2019, .. disponível

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 (`%`).

"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.

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.077
17549
Activate Win 8 remote support for remote desktop connections in Windows OS?
Download Windows 12, but where and when?
Fehler, gelegentliche Falschberechnung und Zentrierung vom Text (DT_CENTER)!
How to see all running apps on The Samsung Galaxy!
The 10 Best PowerShell Commands for Windows Server?
Weitere Tastatur Einstellungen unter Windows 8.1 vornehmen!
How to manage blocked people and apps on Facebook.com?
Can i use this stress test for the overclocked graphics card (GPU crash)?
Activate Windows 8 / 10 and 8.1 screen saver via screensaver settings!
Why do the heart flakes rotate on the Windows Desktop OS?



(0)