FOR: Executa um comando especificado para cada ficheiro de um conjunto.


... 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 11, 10, .. 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 especifico para cada ficheiro de um conjunto de ficheiros.

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

%variável Especifica um parâmetro substituível.
(conjunto) Especifica um conjunto de um ou mais ficheiros. Os caracteres
universais podem ser utilizados.
comando Especifica o comando a executar para cada ficheiro.
parâmetrosdocomando
Especifica os parâmetros do comando especificado.

Para utilizar o comando FOR num programa batch, especifique %%variável em vez
de %variável. Os nomes das variáveis são sensíveis a maiúsculas e minúsculas,
portanto %i é diferente de %I.

Se as extensões de comandos estiverem activadas, são suportadas as seguintes
formas adicionais do comando FOR:

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

Se o conjunto contiver caracteres universais, então é especificada a
correspondência com nomes de directórios em vez de nomes de ficheiros.

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

Percorre a árvore de directório com raiz em [unidade:]caminho, executando
a instrução FOR em cada directório da árvore. Se não for especificado
nenhum directório depois de /R, então é assumido o directório actual.
Se o conjunto for só um carácter de ponto final (.) então só enumerará
a árvore do directório.

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

O conjunto é uma sequência de números do início ao fim, segundo o passo.
Assim (1,1,5) geraria a sequência 1 2 3 4 5 e (5,-1,1) geraria a 
sequência
(5 4 3 2 1)

FOR /F ["opções"] %variável IN (conjunto-de-ficheiros) DO comando
[parâmetros-do-comando]
FOR /F ["opções"] %variável IN ("cadeia") DO comando [parâmetros-do-comando]
FOR /F ["opções"] %variável IN ('comando') DO comando [parâmetros-do-comando]

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

FOR /F ["opções"] %variável IN (conjunto-de-ficheiros) DO comando
[parâmetros-do-comando]
FOR /F ["opções"] %variável IN ('cadeia') DO comando [parâmetros-do-comando]
FOR /F ["opções"] %variável IN (`comando`) DO comando [parâmetros-do-comando]

conjunto-de-ficheiros é um ou mais nomes de ficheiro. Cada ficheiro é
aberto, lido e processado antes de passar para o ficheiro seguinte do
conjunto-de-ficheiros. O processamento consiste em ler o ficheiro,
separá-lo em linhas de texto individuais e, em seguida, analisar cada
linha em zero ou mais tokens. O corpo do ciclo for é então chamado com
o conjunto de valor(es) da variável para a(s) cadeia(s) de tokens
encontrados. Por predefinição, o /F passa o primeiro token separado
por um espaço em cada linha de cada ficheiro. As linhas em branco são
ignoradas. É possível substituir o comportamento da análise predefinido
quando especificar o parâmetro opcional "opções". Esta é uma cadeia que
aparece entre aspas e que contém uma ou mais palavras-chave para
especificar opções de análise diferentes. As palavras-chave são:

eol=c - especifica um carácter de comentário de fim da 
linha
(só um).
skip=n - especifica o número de linhas a ignorar no início 
do
ficheiro.
delims=xxx - especifica um conjunto de delimitadores. Substitui
o espaço ou a tabulação como o conjunto de
delimitadores predefinido.
tokens=x,y,m-n - especifica quais os tokens de cada linha que devem
ser passados para o corpo do for em cada iteração.
Isto causará a atribuição de nomes de variáveis
adicionais. O formato m-n é um intervalo que
especifica o m-ésimo token através dos n-ésimos
tokens. Se o último carácter da cadeia tokens= for
um asterisco, então uma variável adicional é
atribuída para receber o restante texto da linha
depois de analisado o último token.
usebackq - especifica que é aplicada a nova semântica, onde
uma cadeia de aspas invertidas é executada como um
comando e uma cadeia entre plicas é um comando de
cadeia de parâmetros e permite a utilização de duas
aspas para citar nomes de ficheiro do conjunto de
ficheiros.

Alguns exemplos podem ajudar:

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

analisa cada linha do meuficheiro.txt, ignorando as linhas iniciadas com
um ponto e vírgula, passando o 2º e 3º tokens de cada linha para o corpo
for, com tokens delimitados por vírgulas e/ou espaços. Note que as
instruções do corpo do for referenciam %i para obter o 2º sinal, %j
para obter o 3º sinal e %k para obter os restantes tokens depois do 3º.
Para nomes de ficheiros que contêm espaços, é necessário citá-los entre
duas aspas. Para utilizar duas aspas desta forma, também necessita
de utilizar a opção usebackq, caso contrário, as duas aspas serão
interpretadas como a definição da cadeia de parâmetros a analisar.

%i é declarado explicitamente na instrução for e o %j e %k são
declarados implicitamente através da opção tokens=. Pode especificar
até 26 tokens através da linha tokens=, desde que não provoque uma
tentativa de declarar uma variável maior que a letra 'z' ou 'Z'.
Lembre-se de que os nomes das variáveis do FOR são sensíveis a maiúsculas
e minúsculas, globais e que não podem existir mais de 52 activas em
qualquer altura.

Também pode utilizar a lógica de análise FOR /F numa cadeia imediata,
tornando o conjunto-de-ficheiros entre parêntesis numa cadeia entre 
aspas,
utilizando caracteres de plicas. Será tratada como uma única linha de
entrada de um ficheiro e analisada.

Finalmente, pode utilizar o comando FOR /F para analisar a saída de um
comando. Isto é possível transformando o conjunto-de-ficheiros entre
parênteses numa cadeia de aspas invertidas. Será tratada como uma linha
de comandos, que é passada a um CMD.EXE subordinado e a saída é capturada
para memória e analisada como se fosse um ficheiro. Assim, o exemplo
seguinte:

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

enumeraria os nomes das variáveis de ambiente do ambiente actual.

Além disso, a substituição das referências das variáveis do FOR foram
melhoradas. Pode agora utilizar a seguinte sintaxe opcional:

%~I - expande %I removendo quaisquer aspas (") em redor
%~fI - expande %I para um nome de caminho válido
%~dI - expande %I apenas para uma letra de unidade
%~pI - expande %I apenas para um caminho
%~nI - expande %I apenas para um nome de ficheiro
%~xI - expande %I apenas para uma extensão de ficheiro
%~sI - o caminho expandido contém apenas nomes curtos
%~aI - expande %I para atributos de ficheiro do ficheiro
%~tI - expande %I para a data/hora do ficheiro
%~zI - expande %I para o tamanho do ficheiro
%~$PATH:I - procura os directórios listados na variável
de ambiente PATH e expande %I para o
nome válido do primeiro que for encontrado.
Se o nome da variável de ambiente não estiver
definido ou o ficheiro não for encontrado pela
procura, então este modificador expande para a
cadeia vazia

Os modificadores podem ser combinados para obter resultados compostos:

%~dpI - expande %I apenas para uma letra de unidade ou caminho
%~nxI - expande %I apenas para um nome ou extensão de ficheiro
%~fsI - expande %I apenas para um nome de caminho completo com
nomes curtos
%~dp$PATH:i - procura %I nos directórios listados na variável de
ambiente PATH e expande para a
letra de unidade ou caminho do primeiro que for 
encontrado.
%~ftzaI - expande %I para uma linha de saída parecida com o DIR

Nos exemplos anteriores o %I e o PATH podem ser substituídos por outros
valores válidos. A sintaxe %~ é terminada por um nome de variável FOR válido.
A escolha de nomes de variáveis maiúsculas tal como %I é mais legível e
evita confusões com os modificadores, que não são sensíveis a 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



Prompt FOR - Executa um comando especificado para cada ficheiro de um conjunto.

HTTP: ... console/pt/032.htm
0.202
16548

When filtering, no path can be specified (directory print, expression)!

Command line to customize the drive label of a drive!

Treiber Aktualisierung bei Windows 10 und 11 deaktivieren, aber wie?

Delete Auto Complete, Passwords and Form Data in Windows-10?

Kann ich nur Abschnitte einer Seite drucken?

Wozu das automatische Anpassen der Windows Energie-Optionen?



(0)