Réponses:
FOR %%A IN (list) DO command parameters
list est une liste de tous les éléments, séparés par des espaces, des virgules ou des points-virgules.
la commande peut être n'importe quelle commande interne ou externe, un fichier batch ou même - sous OS / 2 et NT - une liste de commandes
paramètres contient les paramètres de ligne de commande pour la commande. Dans cet exemple, la commande sera exécutée une fois pour chaque élément de la liste, en utilisant des paramètres si spécifiés.
Un type spécial de paramètre (ou même de commande) est %% A, qui sera remplacé par chaque élément de la liste consécutivement.
Depuis les boucles FOR
FOR /L %x IN (1,1,100) DO ...
[ parameters ]
si vous souhaitez inclure plusieurs lignes dans votre for
boucle
Si vous voulez faire quelque chose x fois, vous pouvez le faire:
Exemple (x = 200):
FOR /L %%A IN (1,1,200) DO (
ECHO %%A
)
1,1,200
veux dire:
Type:
for /?
et vous obtiendrez plusieurs pages de texte d'aide.
Exécutez conditionnellement une commande plusieurs fois.
syntax-FOR-Files
FOR %%parameter IN (set) DO command
syntax-FOR-Files-Rooted au chemin
FOR /R [[drive:]path] %%parameter IN (set) DO command
syntax-FOR-Folders
FOR /D %%parameter IN (folder_set) DO command
syntax-FOR-Liste de nombres
FOR /L %%parameter IN (start,step,end) DO command
syntax-FOR-File contenu
FOR /F ["options"] %%parameter IN (filenameset) DO command
ou
FOR /F ["options"] %%parameter IN ("Text string to process") DO command
Résultats de la commande syntax-FOR
FOR /F ["options"] %%parameter IN ('command to process') DO command
Il
%%G
égal à une partie de ces donnéesSi vous utilisez la commande FOR sur la ligne de commande plutôt que dans un programme de commandes, utilisez un seul signe de pourcentage: %G
au lieu de %%G
.
Paramètres FOR
Le premier paramètre doit être défini à l'aide d'un seul caractère, par exemple la lettre G.
FOR %%G IN
...
À chaque itération d'une boucle FOR, la IN ( ....)
clause est évaluée et %%G
définie sur une valeur différente
Si cette clause aboutit à une valeur unique, %% G est défini comme égal à cette valeur et la commande est exécutée.
Si la clause aboutit à plusieurs valeurs, des paramètres supplémentaires sont implicitement définis pour les contenir. Ceux-ci sont automatiquement attribués par ordre alphabétique %%H %%I %%J
... (définition implicite des paramètres)
Si le paramètre fait référence à un fichier, une référence de variable améliorée peut être utilisée pour extraire le nom de fichier / chemin / date / taille.
Vous pouvez bien sûr choisir n'importe quelle lettre de l'alphabet autre que %%G
. mais c'est un bon choix car il n'entre en conflit avec aucune des lettres de format de chemin (a, d, f, n, p, s, t, x) et fournit la plus longue série de lettres non conflictuelles à utiliser comme paramètres implicites .
%a%
donner le nom d'un fichier normal? Il est difficile de vous aider avec ce format. N'hésitez pas à poser une nouvelle question après avoir lu Comment demander .
So for example in a reference like %%~fG the %%G is the FOR parameter, and the ~f is the Parameter Expansion.
(ici) [ ss64.com/nt/syntax-args.html ), merci à vous. Salut mon pote.
FOR
vous donnera toutes les informations dont vous aurez besoin sur les boucles FOR, y compris des exemples d'utilisation correcte.
Essayez ce code:
@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
est le nombre à incrémenter et num2
est la valeur ajoutée à num1
et terminator est la valeur à laquelle num1
finira. Vous pouvez indiquer une valeur différente pour le terminateur dans cette instruction ( if %num1%==%terminator% goto close
). Il s'agit de l'expression booléenne goto close est le processus si le booléen est true et goto open est le processus si le boolean est 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
De la FOR /?
documentation d'aide:
FOR% variable IN (set) commande DO [paramètres de commande]
% variable Spécifie un paramètre remplaçable à une seule lettre.
(set) Spécifie un ensemble d'un ou plusieurs fichiers. Des caractères génériques peuvent être utilisés. commande Spécifie la commande à exécuter pour chaque fichier.
command-parameters
Spécifie des paramètres ou des commutateurs pour la commande spécifiée.
Pour utiliser la commande FOR dans un programme de commandes, spécifiez la variable %% au lieu
de la variable%. Les noms de variables sont sensibles à la casse, donc% i est différent
de% I.
Si les extensions de commande sont activées, les
formes supplémentaires suivantes de la commande FOR sont prises en charge:
FOR / D% variable IN (set) commande DO [paramètres de commande]
If set contains wildcards, then specifies to match against directory
names instead of file names.
FOR / R [[lecteur:] chemin]% variable IN (set) commande DO [commande-paramètres]
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 (début, étape, fin) Commande DO [paramètres-commande]
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)