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 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 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.077
16548
Belegen Dateien im Papierkorb Speicherplatz?
Downgrade Windows 10 zu Windows 7, oder 8.1, kann ich es deinstallieren?
Does the directory print work excluding problems in Windows 11?
Kann ich beim Klick auf einen Facebook-Link mir einen Virus holen?
Folder vs. Folder and Compare if search for similar images?
Ich habe auf dem Desktop einen kleinen schwarzen Punkt, was kann ich machen?
Is the Aero Desktop Clock for Android or Linux, Ad Free?
Für die Bildschirm-Tastatur auf dem Windows 10/11 Desktop Verknüpfung erstellen?
What is the workgroup on a Windows PC?
Should I buy an MS Office subscription or a full version?



(0)