|
Este artigo foi traduzido por máquina. Coloque o ponteiro do mouse sobre as frases do artigo para ver o texto original. Mais informações.
|
Tradução
Original
|
Para
Sintaxe
Para {% % | %} <Variable>em (<Set>) <Command>[<CommandLineOptions>]
Parâmetros
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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. M–N 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 {% % | %} <Variable>em (<Set>) <Command>[<CommandLineOptions>]
f em (*.doc *.txt) digite %f
para /f "eol =;tokens = 2, 3 * delims =, "%i in (myfile. txt) @ echo %i %j %k
para /f "usebackq delims = =" %i in ('conjunto') @ echo %i
