C:\WINDOWS>HELP FOR
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.
C:\WINDOWS>HELP FORMAT
Formata um disco para ser utilizado com o Windows.
FORMAT volume
[/FS:sistema de arquivos
] [/V:rótulo
] [/Q
] [/A:tamanho
] [/C
] [/X
] [/P:etapas
]FORMAT volume
[/V:rótulo
] [/Q
] [/F:tamanho
] [/P:etapas
]FORMAT unidade:
[/V:nome
] [/Q
] [/T:trilhas /N:setores
] [/P:etapas
]FORMAT unidade:
[/V:nome
] [/Q
] [/P:etapas
]FORMAT volume
[/Q
] [/1
]volume Especifica a letra da unidade (seguida de dois-pontos),
ponto de montagem ou nome de volume.
/FS:sistema_de_arquivos Especifica o tipo do sistema de arquivos
(FAT, FAT32, NTFS ou UDF).
/V:nome Especifica o nome do volume.
/Q Executa uma formatação rápida. Esta opção prevalece sobre
/P.
/C Somente NTFS: arquivos criados no volume novo serão
compactados por definição.
/X Força primeiro a desmontagem do volume, se necessário.
Todos os identificadores abertos do volume não seriam
mais válidos.
/R:revisão somente UDF: força a formatação como uma versão UDF
específica (1.02, 1.50, 2.00, 2.01, 2.50). A revisão
padrão é 2.01.
/D Somente UDF 2.50: Os metadados serão duplicados.
/A:tamanho Substitui o tamanho da unidade de alocação padrão.
As configurações padrão são altamente recomendáveis para
uso geral. NTFS dá suporte a 512, 1024, 2048, 4096, 8192,
16K, 32K, 64K. FAT dá suporte a 512, 1024, 2048, 4096,
8192,
16K, 32K, 64K, (128K, 256K para tamanho do
setor > 512 bytes). FAT32 dá suporte a 512, 1024, 2048,
4096, 8192, 16K, 32K, 64K, (128K, 256K para tamanho do
setor > 512 bytes).
Observe que os sistemas de arquivo FAT e FAT32 impõem as
seguintes restrições quanto ao número de clusters em um
volume:
FAT: Número de clusters <= 65526
FAT32: 65526 < Número de clusters < 4177918
A formatação será imediatamente interrompida se
decidir que os requisitos acima não poderão ser atendidos
usando o tamanho de cluster especificado.
A compactação NTFS não tem suporte para tamanhos de unidade
de alocação acima de 4096.
/F:tamanho Especifica o tamanho do disquete a formatar (1,44)
/T:trilhas Especifica o número de trilhas por lado do disco.
/N:setores Especifica o número de setores por trilha.
/P:Etapas Zeram todos os setores nas vezes de etapas de volumes.
Esta opção não é válida com /Q
C:\WINDOWS>HELP FTYPE
Exibe ou modifica tipos de arquivos usados nas associações de extensão
de arquivo
FTYPE
[Tipo_de_arquivo
[=
[Cadeia_de_caracteres_do_comando_open
]]]Tipo_de_arquivo Especifica o tipo de arquivo a ser examinado ou alterado
Cadeia_de_caracteres_do_comando_open Especifica o comando open
a ser usado ao iniciar arquivos desse tipo.
Digite FTYPE sem parâmetros para exibir os tipos de arquivos atuais que
possuem cadeia de caracteres do comando open definidas. O FTYPE é
invocado com apenas um tipo de arquivo; ele exibe a cadeia de caracteres
do comando open atual para esse tipo de arquivo. Se nada for especificado
para a cadeia de caracteres do comando open, o comando FTYPE excluirá
a cadeia de caracteres do comando open para o tipo de arquivo. Dentro de
uma cadeia de caracteres do comando open, %0 ou %1 são substituídos
pelo nome de arquivo sendo iniciado por associação. %* obtém todos os
parâmetros e %2 obtém o primeiro parâmetro, %3 o segundo, etc. %~n
obtém todos os parâmetros restantes iniciados com o enésimo parâmetro, onde
n pode estar entre 2 e 9, inclusive. Por exemplo:
ASSOC .pl=PerlScript
FTYPE PerlScript=perl.exe %1 %*
permitiria invocar um script Perl como a seguir:
script.pl 1 2 3
Para eliminar a necessidade de digitar as extensões, faça o seguinte:
defina PATHEXT=.pl;%PATHEXT%
e o script poderia ser chamado assim:
script 1 2 3