Respuestas:
FOR %%A IN (list) DO command parameters
La lista es una lista de todos los elementos, separados por espacios, comas o punto y coma.
El comando puede ser cualquier comando interno o externo, archivo por lotes o incluso, en OS / 2 y NT, una lista de comandos
Los parámetros contienen los parámetros de la línea de comando para el comando. En este ejemplo, el comando se ejecutará una vez para cada elemento de la lista, utilizando parámetros si se especifica.
Un tipo especial de parámetro (o incluso comando) es %% A, que será sustituido por cada elemento de la lista consecutivamente.
De bucles FOR
FOR /L %x IN (1,1,100) DO ...
[ parameters ]
si desea incluir varias líneas en su for
bucle
Si quieres hacer algo x veces, puedes hacer esto:
Ejemplo (x = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
medio:
Tipo:
for /?
y obtendrá varias páginas de texto de ayuda.
Condicionalmente ejecutar un comando varias veces.
sintaxis-FOR-Files
FOR %%parameter IN (set) DO command
sintaxis-FOR-Files-Rooted en la ruta
FOR /R [[drive:]path] %%parameter IN (set) DO command
sintaxis-PARA-Carpetas
FOR /D %%parameter IN (folder_set) DO command
sintaxis-PARA-Lista de números
FOR /L %%parameter IN (start,step,end) DO command
sintaxis-para-contenido del archivo
FOR /F ["options"] %%parameter IN (filenameset) DO command
o
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
Resultados de sintaxis-FOR-Command
FOR /F ["options"] %%parameter IN ('command to process') DO command
Eso
%%G
igual a alguna parte de esos datosSi está utilizando el comando FOR en la línea de comandos en lugar de en un programa por lotes, use solo un signo de porcentaje: en %G
lugar de %%G
.
Para los parámetros
El primer parámetro debe definirse utilizando un solo carácter, por ejemplo, la letra G.
FOR %%G IN
...
En cada iteración de un bucle FOR, la IN ( ....)
cláusula se evalúa y se %%G
establece en un valor diferente
Si esta cláusula da como resultado un valor único, %% G se establece igual a ese valor y se ejecuta el comando.
Si la cláusula da como resultado valores múltiples, los parámetros adicionales se definen implícitamente para contener cada uno. Estos se asignan automáticamente en orden alfabético %%H %%I %%J
... (definición implícita de parámetros)
Si el parámetro hace referencia a un archivo, se puede utilizar la referencia de variable mejorada para extraer el nombre de archivo / ruta / fecha / tamaño.
Por supuesto, puede elegir cualquier letra del alfabeto que no sea %%G
. pero es una buena opción porque no entra en conflicto con ninguna de las letras de formato de nombre de ruta (a, d, f, n, p, s, t, x) y proporciona la ejecución más larga de letras no conflictivas para usar como parámetros implícitos .
%a%
dando el nombre de un archivo normal? Es difícil ayudarte con este formato. Siéntase libre de hacer una nueva pregunta después de leer Cómo preguntar .
So for example in a reference like %%~fG the %%G is the FOR parameter, and the ~f is the Parameter Expansion.
(aquí) [ ss64.com/nt/syntax-args.html ), gracias a ti. Salud.
FOR
le dará cualquier información que necesite saber sobre los bucles FOR, incluidos ejemplos sobre el uso adecuado.
Prueba 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
es el número que se incrementará y num2
es el valor agregado num1
y terminador es el valor donde num1
terminará. Puede indicar un valor diferente para el terminador en esta declaración ( if %num1%==%terminator% goto close
). Esta es la expresión booleana goto close es el proceso si el boolean es verdadero y goto open es el proceso si el booleano es falso.
@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
Del FOR /?
documento de ayuda:
FOR% variable IN (set) DO comando [parámetros del comando]
% variable Especifica un parámetro reemplazable de una sola letra.
(conjunto) Especifica un conjunto de uno o más archivos. Se pueden usar comodines. comando Especifica el comando a ejecutar para cada archivo.
parámetros de comando
Especifica parámetros o modificadores para el comando especificado.
Para usar el comando FOR en un programa por lotes, especifique %% variable en lugar
de% variable. Los nombres de las variables distinguen entre mayúsculas y minúsculas, por lo que% i es diferente
de% I.
Si las Extensiones de comando están habilitadas,
se admiten las siguientes formas adicionales del comando FOR:
FOR / D% variable IN (set) DO comando [parámetros del comando]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR / R [[unidad:] ruta]% variable IN (conjunto) DO comando [parámetros del 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% variable IN (inicio, paso, fin) Comando DO [parámetros del 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)