C:\WINDOWS>HELP FOR
Exécute une commande donnée pour chaque fichier d'un ensemble de fichiers.
FOR %variable IN (ensemble) DO commande
[paramètres
] %variable Spécifie un paramètre remplaçable par une seule lettre.
(ensemble) Ensemble de fichiers. Caractères génériques autorisés.
commande Commande à exécuter pour chaque fichier.
paramètres Liste des paramètres ou des options pour la commande
spécifiée.
Pour utiliser la commande FOR dans un programme de commandes, spécifiez
%%variable au lieu de %variable. Les noms de variables respectent la
casse, donc %i est différent de %I.
Si les extensions de commandes sont activées, les formes supplémentaires
suivantes sont prises en charge pour la commande FOR :
FOR /D %variable IN (ensemble) DO commande
[paramètres
] Si ensemble contient des caractères génériques, alors la correspondance se
fait sur les noms de répertoires au lieu des noms de fichiers.
FOR /R
[[lecteur:
]chemin
] %variable IN (ensemble) DO commande
[paramètres
] Parcourt l'arborescence de répertoires depuis la racine
[lecteur:
]chemin,
en exécutant FOR dans chaque répertoire de l'arborescence. Si aucun
répertoire n'est spécifié après /R alors le répertoire en cours est
utilisé. Si ensemble est seulement un point (.) alors seule l'arborescence
de répertoires sera énumérée.
FOR /L %variable IN (début,pas,fin) DO commande
[paramètres
] L'ensemble est une séquence de chiffres allant de début à fin, incrémenté
de pas. Ainsi (1,1,5) génère la séquence 1 2 3 4 5 et (5,-1,1) génère la
séquence (5 4 3 2 1)
FOR /F
["options"
] %variable IN (ensemble-fichiers) DO commande
[paramètres
]FOR /F
["options"
] %variable IN ("chaîne") DO commande
[paramètres
]FOR /F
["options"
] %variable IN ('commande') DO commande
[paramètres
] ou, si l'options usebackq est utilisée :
FOR /F
["options"
] %variable IN (ensemble-fichiers) DO commande
[paramètres
]FOR /F
["options"
] %variable IN ('chaîne') DO commande
[paramètres
]FOR /F
["options"
] %variable IN (`commande`) DO commande
[paramètres
] ensemble-fichiers est un ou plusieurs noms de fichiers. Chaque fichier est
ouvert, lu et traité avant de passer au fichier suivant de
ensemble-fichiers. Le traitement consiste à lire dans le fichier, le
découper en lignes individuelles de texte puis analyser chaque ligne en
zéro ou plusieurs parties. Le corps de la boucle FOR est ensuite appelé
avec la ou les valeurs de variables prenant la valeur de la ou des parties
trouvées. Par défaut, /F transmet la première partie séparée par un blanc
dans chaque ligne de chaque fichier. Les lignes vides sont ignorées. Vous
pouvez outrepasser le comportement d'analyse par défaut en spécifiant le
paramètre optionnel "options". Ceci est une chaîne entre guillemets
contenant un ou plusieurs mots-clés spécifiant diverses options d'analyse.
Les mots-clés sont :
eol=c - spécifie un caractère de commentaire de fin de ligne
(un seul)
skip=n - spécifie le nombre de lignes à ignorer en début
de fichier.
delims=xxx - spécifie un ensemble de délimiteurs. Ceci remplace
l'ensemble de délimiteurs par défaut qui sont
l'espace et la tabulation.
tokens=x,y,m-n - spécifie les parties de chaque ligne devant être
transmises au corps de FOR à chaque itération.
Ceci provoquera l'allocation de noms de variables
supplémentaires. La forme m-n est une étendue
spécifiant les parties allant de m à n. Si le
dernier caractère de la chaîne tokens= est une
astérisque, alors une variable supplémentaire est
allouée et reçoit le texte restant dans la ligne
suivant la dernière partie analysée.
usebackq - spécifie que la nouvelle sémantique est en place,
lorsqu'une chaîne entre guillemets inversés est
exécutée en tant que commande et une chaîne entre
guillemets simples est une chaîne de commande
littérale et permet l'utilisation de guillemets
doubles pour citer des noms de fichiers.
Quelques exemples explicatifs :
FOR /F "eol=; tokens=2,3* delims=, " %i in (monfich.txt) do @echo %i %j %k
analyse chaque ligne de monfich.txt, en ignorant les lignes commençant
par un point-virgule, en transmettant les 2nde et 3ème parties de
chaque ligne au corps de FOR, les parties étant délimitées par des
virgules et/ou espaces. Notez que le corps de FOR référence %i pour
l'obtention de la 2nde partie, %j pour l'obtention de la 3ème partie
et %k pour l'obtention des parties restantes après la 3ème. Pour les
noms de fichiers contenant des espaces, placez les noms de fichiers
entre guillemets doubles. Afin d'utiliser ainsi les guillemets doubles,
vous devez également utiliser l'option usebackq, faute de quoi les
guillemets doubles seraient interprétés comme définissant une chaîne
littérale à analyser.
%i est déclarée explicitement dans la déclaration FOR et %j et %k
sont déclarées implicitement via l'option tokens=. Vous pouvez spécifier
jusqu'à 26 paries via la ligne tokens=, tant que cela ne provoque pas
de tentative de déclaration de variable plus élevée que la lettre 'z'
ou 'Z'. Souvenez-vous que les variables de FOR se composent de lettres,
tiennent compte de la casse, sont globales et que plus de 52 ne peuvent
pas être actives à la fois.
Vous pouvez aussi utiliser la logique d'analyse FOR /F sur une chaîne en
plaçant ensemble-fichiers entre guillemets entre les parenthèses,
en utilisant des guillemets simples. Elle sera traitée comme une ligne
d'entrée simple provenant d'un fichier puis analysée.
Enfin, vous pouvez utiliser la commande FOR /F pour analyser les
données en sortie d'une commande. Faites ceci en plaçant des guillemets
inversés autour de ensemble-fichiers entre les parenthèses. Elle sera
traitée comme une ligne de commande transmise à un CMD.EXE enfant et
la sortie est gardée en mémoire et analysée comme s'il s'agissait d'un
fichier. Ainsi l'exemple suivant :
FOR /F "usebackq delims==" %i IN (`ensemble`) DO @echo %i
énumérerait les noms de variables d'environnement de l'environnement
en cours.
De plus, la substitution de références de variables FOR a été améliorée.
Vous pouvez maintenant utiliser la syntaxe optionnelle suivante :
%~I - étend %I en supprimant les guillemets (")
%~fI - étend %I en nom de chemin d'accès reconnu
%~dI - étend %I en lettre de lecteur uniquement
%~pI - étend %I en chemin d'accès uniquement
%~nI - étend %I en nom de fichier uniquement
%~xI - étend %I en extension de fichier uniquement
%~sI - chemin étendu contenant uniquement des noms courts
%~aI - étend %I en attributs du fichier
%~tI - étend %I en date/heure du fichier
%~zI - étend %I en taille du fichier
%~$PATH:I - parcourt les répertoires de la variable
d'environnement PATH et étend %I en nom du
premier fichier reconnu trouvé. Si le nom de la
variable d'environnement n'est pas défini ou
que le fichier n'est pas trouvé par la recherche,
alors ce modificateur étend en chaîne vide
Vous pouvez combiner les modificateurs pour obtenir des résultats composés :
%~dpI - étend %I en lettre de lecteur et chemin d'accès uniquement
%~nxI - étend %I en nom de fichier et extension uniquement
%~fsI - étend %I en nom de chemin complet avec noms courts
uniquement
%~dp$PATH:i - parcourt les répertoires listés dans la variable
d'environnement PATH à la recherche de %I et étend
en lettre de lecteur du premier trouvé.
%~ftzaI - étend %I en DIR comme ligne en sortie
Dans les exemples ci-dessus %I et PATH peuvent être remplacés par d'autres
valeurs valides. La syntaxe %~ se termine par un nom de variable FOR valide.
Le choix de noms de variables en majuscules comme %I facilite la lecture
et empêche toute confusion avec les modificateurs qui ne tiennent pas compte
de la casse.
C:\WINDOWS>HELP FORMAT
Formate un disque utilisable avec Windows XP.
FORMAT volume
[/FS:sys_fich
] [/V:nom_volume
] [/Q
] [/A:taille
] [/C
] [/X
]FORMAT volume
[/V:nom_volume
] [/Q
] [/F:taille
]FORMAT volume
[/V:nom_volume
][/Q
][/T:pistes /N:secteurs
]FORMAT volume
[/V:nom_volume
][/Q
]FORMAT volume
[/Q
] volume Spécifie la lettre de lecteur (suivie de deux-points),
le point de montage ou le nom de volume.
/FS:sys_fich Spécifie le type de système de fichiers (FAT, FAT32 ou NTFS).
/V:nom_de_volume Spécifie le nom de volume.
/Q Effectue un formatage rapide.
/C NTFS uniquement : Les fichiers créés sur le nouveau volume seront compressés
par défaut.
/X Force le volume à être démonté d'abord si nécessaire.
Tous les descripteurs ouverts sur le volume ne seront
plus valides.
/A:taille Remplace la taille d'unité d'allocation par défaut. Les
paramètres par défaut sont très fortement recommandés dans le cas général.
NTFS gère 512, 1024, 2048, 4096, 8192, 16 Ko, 32 Ko, 64 Ko.
FAT gère 512, 1024, 2048, 4096, 8192, 16 Ko, 32 Ko, 64 Ko.
(128 Ko, 256 Ko pour taille de secteur > 512 octets).
FAT32 gère 512, 1024, 2048, 4096, 8192, 16 Ko, 32 Ko, 64 Ko.
(128 Ko, 256 Ko pour taille de secteur > 512 octets).
Notez que les systèmes de fichiers FAT et FAT32 imposent
les restrictions suivantes sur le nombre de clusters par volume :
FAT : nombre de clusters <= 65526
FAT32 : 65526 < nombre de clusters < 4177918
Le formatage cessera immédiatement s'il est jugé que les conditions
ci-dessus ne peuvent pas être remplies en utilisant la
taille de clusters spécifiée.
La compression NTFS n'est pas prise en charge pour les
tailles d'unités d'allocation supérieures à 4096.
/F:taille Spécifie la taille de la disquette à formater (1.44)
/T:pistes Spécifie le nombre de pistes par face de disque.
/N:secteurs Spécifie le nombre de secteurs par piste.
C:\WINDOWS>HELP FTYPE
Affiche ou modifie les types de fichiers utilisés dans les associations d'extension de fichiers
FTYPE
[TypeFichier
[=
[CommandeOuverture
]]] TypeFichier Spécifie le type de fichier à examiner ou à modifier
CommandeOuverture Spécifie la commande d'ouverture à utiliser lors du
démarrage des fichiers de ce type.
Entrez FTYPE sans paramètre pour afficher les types de fichiers qui ont
actuellement une commande d'ouverture définie. FTYPE est appelé
avec un seul type de fichier, il affiche la chaîne de la commande d'ouverture
actuelle pour ce type de fichier. Ne spécifiez aucune commande d'ouverture
pour supprimer la chaîne de commande d'ouverture pour un type de fichier.
À l'intérieur d'une commande d'ouverture, %0 ou %1 sont remplacés
par les noms de fichiers démarrés via l'association. %* prend
tous les paramètres et %2 représente le premier, %3 le deuxième, etc. %~n
prend les paramètres restants, en commençant par le énième, où n est
compris entre 2 et 9 inclus. Par exemple :
ASSOC .pl=PerlScript
FTYPE PerlScript=perl.exe %1 %*
vous permet d'appeler un script Perl comme suit :
script.pl 1 2 3
Si vous voulez éliminer le besoin d'entrer les extensions, exécutez ceci :
set PATHEXT=.pl;%PATHEXT%
et le script peut être appeler comme suit :
script 1 2 3