Este artigo foi traduzido por máquina. Para visualizar o arquivo em inglês, marque a caixa de seleção Inglês. Você também pode exibir o texto Em inglês em uma janela pop-up, movendo o ponteiro do mouse sobre o texto.
Tradução
Inglês

Para

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

Para obter exemplos de como usar esse comando, consulte exemplos.

Sintaxe



Para {% % | %} <Variable>em (<Set>) <Command>[<CommandLineOptions>]

Parâmetros

Parâmetro Descrição

{% % | %} <Variable>

Obrigatório. Representa um parâmetro substituível. Use um único sinal de porcentagem (%)para executar o comando de prompt de comando. Use dois sinais de porcentagem (%) para executar o comando para dentro de um arquivo em lotes.%% Variáveis diferenciam maiúsculas de minúsculas e deve ser representados com um valor em ordem alfabética, como %A, %bou %c.

(<Set>)

Obrigatório. Especifica um ou mais arquivos, diretórios ou seqüências de texto ou um intervalo de valores no qual executar o comando. Os parênteses são necessários.

<Command>

Obrigatório. Especifica o comando que você deseja executar em cada arquivo, diretório ou seqüência de texto ou no intervalo de valores incluídos no conjunto.

<CommandLineOptions>

Especifica as opções de linha de comando que você deseja usar com o comando especificado.

/?

Exibe a Ajuda no prompt de comando.

Comentários

  • Usando Usando

    Você pode usar o comando for dentro de um arquivo em lotes ou diretamente no prompt de comando.

  • Usando parâmetros em lote

    Os seguintes atributos se aplicam ao comando para :

    • O comando for substitui %variável ou % %variável com cada seqüência de texto do conjunto até que o comando especificado processa todos os arquivos.

    • Nomes de variáveis diferenciam maiúsculas de minúsculas, global e não mais de 52 podem estar ativas ao mesmo tempo.

    • Para evitar confusão com os parâmetros de lote %0 a %9, você pode usar qualquer caractere de variável , exceto os numerais 0 a 9. Simples arquivos em lote, um único caractere, como % funcionará.

    • Você pode utilizar vários valores para variável em arquivos em lotes complexos para distinguir diferentes variáveis substituíveis.

  • Especificar um grupo de arquivos

    O parâmetro conjunto pode representar um único grupo de arquivos ou vários grupos de arquivos. Você pode usar caracteres curinga (* e ?) especificar um arquivo definido. São os seguintes conjuntos de arquivo válido:

    
    
    (*. doc) (*.doc *.txt * .me)(doc jan jan*.rpt feb*.doc RPT)(ar??1991.* ap??1991.*)
    
    
    Quando você usa o comando for , o primeiro valor do conjunto substitui %variável ou %variávele, em seguida, o comando especificado processa esse valor. Isso continua até que todos os arquivos (ou grupos de arquivos que correspondem ao valor definido ) são processados.

  • Usando as palavras-chave e fará

    No e do não são parâmetros, mas você deve usá-los com para. Se qualquer uma dessas palavras-chave for omitida, será exibida uma mensagem de erro.

  • Usando formas adicionais para

    Se as extensões de comando estiverem ativadas (o que é o padrão), são suportados os seguintes formulários adicionais de para :

    • Somente pastas

      Se conjunto contiver caracteres curinga (* ou ?), o comando especificado será executado para cada diretório (em vez de um conjunto de arquivos em um diretório especificado) que corresponda ao conjunto.

      A sintaxe é:

      
      
      para /d {% % | %} <Variable>em (<Set>) <Command>[<CommandLineOptions>]
      
      
    • Recursiva

      Percorre a árvore de diretório raiz na unidade:caminho e executa a instrução for em cada pasta da árvore. Se nenhuma pasta for especificada após /r, a pasta atual é usada como o diretório raiz. Se Definir apenas um ponto (.), ele apenas enumerará a árvore de diretório.

      A sintaxe é:

      
      
      for /r [[<Drive>:] <Path>] {% % | %} <Variable>em (<Set>) <Command>[<CommandLineOptions>]
      
      
    • Iterando um intervalo de valores

      Utilize uma variável iterativa para definir o valor inicial (Start#) e, em seguida, etapa por meio de um intervalo definido de valores até que o valor excede o valor final definido (End#). /l executará a iteratividade comparando início# end#. Se Iniciar# é menor que o final# o comando será executado. Quando a variável iterativa ultrapassa o final#, o shell de comando sai do loop. Você também pode usar um negativo etapa# para percorrer um intervalo em valores decrescentes. Por exemplo, (1,1,5) gera a seqüência 1 2 3 4 5 e (5,-1,1) gera a seqüência 5 4 3 2 1.

      A sintaxe é:

      
      
      para /l {% % | %} <Variable>em (< Start # >, < etapa # > final < # >) <Command>[<CommandLineOptions>]
      
      
    • Iterando e Analisando arquivos

      Use a análise de arquivos para processar saída de comando, seqüências e conteúdo do arquivo. Use as variáveis iterativas para definir o conteúdo ou seqüências de caracteres que você deseja examinar e usar as várias opções de Palavras-chaveDeAnálise para modificar a análise. Use a opção de Palavras-chaveDeAnálise para especificar quais símbolos devem ser passados como variáveis iterativas. Observe que quando usado sem a opção de símbolo, /f examinará apenas o primeiro símbolo.

      Análise de arquivo consiste na leitura da saída, seqüência ou o conteúdo do arquivo e dividindo-a em linhas individuais de texto e analisando cada linha em zero ou mais símbolos. O loop for é então chamado com o valor da variável iterativo definido para o símbolo. Por padrão, /f passa o primeiro símbolo separado por espaço de cada linha de cada arquivo. Linhas em branco são ignoradas.

      As sintaxes são:

      
      
      for /f ["<ParsingKeywords>"] {% % | %} <Variable>em (<Set>) <Command>[<CommandLineOptions>] for /f ["Palavras-chaveDeAnálise"] {% % | %} <Variable>em ("<LiteralString>") <Command>[<CommandLineOptions>] for /f ["<ParsingKeywords>"] {% % | %} <Variable>em ('<Command> ') <Command>[<CommandLineOptions>]
      
      
      O argumento definido Especifica um ou mais nomes de arquivo. Cada arquivo é aberto, ler e processado antes de mover para o próximo arquivo no conjunto. Para substituir o comportamento de análise padrão, especifique Palavras-chaveDeAnálise. Isso é uma seqüência entre aspas que contém uma ou mais palavras-chave para especificar diferentes opções de análise.

      Se você usar a opção usebackq , utilize uma das seguintes sintaxes:

      
      
      for /f ["usebackq <ParsingKeywords>"] {% % | %} <Variable>em (<Set>) <Command>[<CommandLineOptions>] for /f ["usebackq <ParsingKeywords>"] {% % | %} <Variable>em ("<LiteralString>") <Command>[<CommandLineOptions>] for /f ["usebackq <ParsingKeywords>"] {% % | %} <Variable>em ('<Command> ') <Command>[<CommandLineOptions>]
      
      
      A tabela a seguir lista as palavras-chave de análise que podem ser usados para Palavras-chaveDeAnálise.

      Palavra-chave Descrição

      EOL = <c>

      Especifica um final de caracteres de linha (apenas um caractere).

      Ignorar = <N>

      Especifica o número de linhas para ignorar no início do arquivo.

      delims = <xxx>

      Especifica um conjunto de delimitador. Isso substitui o conjunto de delimitadores padrão de espaço e tabulação.

      tokens = < X, Y, M–N >

      Especifica quais tokens de cada linha devem ser passados para o loop for para cada iteração. Como resultado, os nomes de variáveis adicionais são alocados. MN Especifica um intervalo da ésimo MN N ésimo símbolo. Se o último caractere do tokens = string é um asterisco, uma variável adicional será alocada e ele receberá o texto restante na linha após o último símbolo é analisado.*

      usebackq

      Especifica para executar uma seqüência de caracteres entre aspas back como um comando e uma seqüência de caracteres entre aspas simples como um comando de seqüência de caracteres literal. Além disso, permite nomes de arquivo em conjunto para ser colocado entre aspas.

    • Substituição de variável

      A tabela abaixo lista sintaxe opcional (para qualquer variável I).

      Variável com modificador Descrição

      % ~ I

      Expande %i que remove as aspas delimitadoras ("").

      % ~ 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 nome de arquivo.

      % ~ sI

      Expande o caminho para conter somente nomes curtos.

      % ~ aI

      Expande %i para atributos do arquivo.

      % ~ tI

      Expande %i para a data e 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 será expandido para a seqüência vazia.

      A tabela a seguir lista as combinações de modificadores que você pode usar para obter resultados compostos.

      Variável com modificadores combinados Descrição

      % ~ dpI

      Expande %i para uma letra de unidade e caminho apenas.

      % ~ nxI

      Expande %i para um nome de arquivo e extensão apenas.

      % ~ fsI

      Expande %i para um nome de caminho completo com somente 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 é como dir.

      Nos exemplos acima, você pode substituir %i e PATH por outros valores válidos. Finaliza um válido para o nome de variável de % ~ sintaxe.

      Usando nomes de variáveis em maiúsculas como %i, você pode tornar seu código mais legível e evitar confusão com modificadores, que não diferenciam maiúsculas de minúsculas.

  • Analisar uma cadeia de caracteres

    Você pode usar o para /f análise lógica em uma seqüência imediata envolvendo o conjunto de aspas simples – por exemplo, ('conjunto'). Definir é tratado como uma única linha de entrada de um arquivo e, em seguida, ela é analisada.

  • Analisar saída

    Você pode usar o comando for /f para analisar a saída de um comando tornando-se uma seqüência de caracteres entre aspas back do de Definir entre parênteses. Ela é tratada como uma linha de comando passada para um cmd. exe filho. A saída será capturada na memória e analisada como se ele é um arquivo.

Exemplos

Para usar para um arquivo em lotes, use a seguinte sintaxe:



Para {% % | %} <Variable>em (<Set>) <Command>[<CommandLineOptions>]

Para exibir o conteúdo de todos os arquivos no diretório atual que têm a extensão. doc ou. txt usando a variável substituível %f, digite:



f em (*.doc *.txt) digite %f

No exemplo anterior, cada arquivo tem a extensão. doc ou. txt no diretório atual é substituído para a variável %f até o conteúdo de cada arquivo é exibido. Para usar este comando em um arquivo em lotes, substitua cada ocorrência de %f com %. Caso contrário, a variável será ignorada e uma mensagem de erro é exibida.

Para analisar um arquivo ignorando linhas comentadas, digite:



para /f "eol =;tokens = 2, 3 * delims =, "%i in (myfile. txt) @ echo %i %j %k

Esse comando analisa cada linha de MeuArquivo. txt. Ele ignora as linhas que começam com um ponto e vírgula e passa o segundo e terceiro símbolo de cada linha para o corpo de for (os tokens são delimitados por vírgulas ou espaços). O corpo de instrução para referências %i para obter o segundo token, %j para obter o terceiro token e %k para obter todos os tokens restantes. Se os nomes de arquivo que você fornecer contiverem espaços, use aspas para delimitar o texto (por exemplo, "nome do arquivo"). Para usar aspas, você deve usar usebackq. Caso contrário, as aspas serão interpretadas como definindo uma seqüência literal para análise.

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

O exemplo a seguir enumera os nomes de variáveis de ambiente no ambiente atual. Para analisar a saída de um comando colocando em conjunto entre parênteses, digite:



para /f "usebackq delims = =" %i in ('conjunto') @ echo %i

Referências adicionais

Contribuições da comunidade

ADICIONAR
Mostrar: