Respostas:
FOR %%A IN (list) DO command parameters
list é uma lista de quaisquer elementos, separados por espaços, vírgulas ou ponto e vírgula.
comando pode ser qualquer comando interno ou externo, arquivo em lote ou mesmo - no OS / 2 e NT - uma lista de comandos
parâmetros contém os parâmetros de linha de comando para o comando. Neste exemplo, o comando será executado uma vez para cada elemento da lista, usando parâmetros, se especificado.
Um tipo especial de parâmetro (ou comando uniforme) é %% A, que será substituído por cada elemento da lista consecutivamente.
Dos loops FOR
FOR /L %x IN (1,1,100) DO ...
[ parameters ]
se você gostaria de incluir várias linhas em seu for
ciclo
Se você quiser fazer algo x vezes, faça o seguinte:
Exemplo (x = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
significa:
Tipo:
for /?
e você receberá várias páginas de texto de ajuda.
Condicionalmente, execute um comando várias vezes.
sintaxe-para-arquivos
FOR %%parameter IN (set) DO command
sintaxe-FOR-Files-Rooted at Path
FOR /R [[drive:]path] %%parameter IN (set) DO command
sintaxe-para-pastas
FOR /D %%parameter IN (folder_set) DO command
sintaxe-FOR-Lista de números
FOR /L %%parameter IN (start,step,end) DO command
sintaxe para o conteúdo do arquivo
FOR /F ["options"] %%parameter IN (filenameset) DO command
ou
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
Resultados da sintaxe-para-comando
FOR /F ["options"] %%parameter IN ('command to process') DO command
isto
%%G
igual a uma parte desses dadosSe você estiver usando o comando FOR na linha de comando, e não em um programa em lote, use apenas um sinal de porcentagem: em %G
vez de %%G
.
Parâmetros FOR
O primeiro parâmetro deve ser definido usando um único caractere, por exemplo, a letra G.
FOR %%G IN
...
Em cada iteração de um loop FOR, a IN ( ....)
cláusula é avaliada e %%G
configurada com um valor diferente
Se esta cláusula resultar em um único valor, %% G será definido igual a esse valor e o comando será executado.
Se a cláusula resultar em vários valores, parâmetros extras são implicitamente definidos para conter cada um. Eles são atribuídos automaticamente em ordem alfabética %%H %%I %%J
... (definição implícita de parâmetros)
Se o parâmetro se referir a um arquivo, a referência de variável aprimorada poderá ser usada para extrair o nome do arquivo / caminho / data / tamanho.
Obviamente, você pode escolher qualquer letra do alfabeto que não seja %%G
. mas é uma boa opção, pois não entra em conflito com nenhuma das letras no formato do nome do caminho (a, d, f, n, p, s, t, x) e fornece a execução mais longa de letras não conflitantes para uso como parâmetros implícitos .
%a%
dando o nome de um arquivo regular? É difícil ajudá-lo com este formato. Sinta-se à vontade para fazer uma nova pergunta depois de ler Como fazer .
So for example in a reference like %%~fG the %%G is the FOR parameter, and the ~f is the Parameter Expansion.
Entendi (aqui) [ ss64.com/nt/syntax-args.html ), graças a você. Saúde, companheiro.
FOR
fornecerá todas as informações necessárias sobre os loops FOR, incluindo exemplos de uso adequado.
Tente este código:
@echo off
color 02
set num1=0
set num2=1
set terminator=5
:loop
set /a num1= %num1% + %num2%
if %num1%==%terminator% goto close
goto open
:close
echo %num1%
pause
exit
:open
echo %num1%
goto loop
num1
é o número a ser incrementado e num2
é o valor adicionado a num1
e terminator é o valor em que o num1
final será. Você pode indicar um valor diferente para o terminador nesta declaração ( if %num1%==%terminator% goto close
). Essa é a expressão booleana goto close é o processo se o booleano for true e goto open é o processo se o boolean for false.
@echo off
echo.
set /p num1=Enter Prelim:
echo.
set /p num2=Enter Midterm:
echo.
set /p num3=Enter Semi:
echo.
set /p num4=Enter Finals:
echo.
set /a ans=%num1%+%num2%+%num3%+%num4%
set /a avg=%ans%/4
ECHO %avg%
if %avg%>=`95` goto true
:true
echo The two numbers you entered were the same.
echo.
pause
exit
Do FOR /?
documento de ajuda:
FOR% variável IN (conjunto) comando DO [parâmetros de comando]
% variável Especifica um parâmetro substituível de uma única letra.
(conjunto) Especifica um conjunto de um ou mais arquivos. Curingas podem ser usados. comando Especifica o comando a ser executado para cada arquivo.
command-parameters
Especifica parâmetros ou opções para o comando especificado.
Para usar o comando FOR em um programa em lote, especifique %% variável em vez
de% variável. Os nomes das variáveis diferenciam maiúsculas de minúsculas; portanto,% i é diferente
de% I.
Se as extensões de comando estiverem ativadas, os seguintes
formulários adicionais do comando FOR serão suportados:
Variável FOR / D% comando IN (conjunto) DO [parâmetros de comando]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR / R [[drive:] caminho]% variável IN (conjunto) comando DO [parâmetros de comando]
Walks the directory tree rooted at [drive:]path, executing the FOR
statement in each directory of the tree. If no directory
specification is specified after /R then the current directory is
assumed. If set is just a single period (.) character then it
will just enumerate the directory tree.
FOR / L% variável IN (início, etapa, fim) Comando DO [parâmetros de comando]
The set is a sequence of numbers from start to end, by step amount.
So (1,1,5) would generate the sequence 1 2 3 4 5 and (5,-1,1) would
generate the sequence (5 4 3 2 1)