@FILES[[/S[[+]n]]] [range...][/H] filename[,[{+|-}]rhsadecijopt]]: renvoie le nombre de fichiers compris dans l'intervalle qui correspondent au nom de fichier et possèdent les attributs spécifiés. Le nom de fichier peut contenir des caractères génériques et des listes d'inclusion. Renvoie 0 si aucun fichier ne correspond. Pour vérifier des fichiers dans plusieurs répertoires, utilisez @FILES une fois pour chacun d'eux et additionnez les résultats avec @EVAL.

 

Le nom de fichier doit être placé entre guillemets doubles s'il contient des espaces blancs ou des caractères spéciaux.

 

Les  paramètres d'intervalle et d'attribut, s'ils sont inclus, définissent les propriétés des fichiers qui seront inclus dans le résultat, comme spécifié dans Sélection de fichiers.  Plusieurs  paramètres d'intervalle peuvent être inclus, mais pas plus d'un parintervalle de description, par intervalle de taille, par intervalle de date et par intervalle de temps. Les paramètres de plage doivent précéder le nom du fichier. Les plages d'exclusion ne sont pas prises en charge.

 

Si vous incluez l' argument facultatif /S, @FILES recherchera les fichiers correspondants dans le répertoire actuel et dans tous ses sous-répertoires .Si vous spécifiez un nombre après le /S, @FILES limitera la récursivité des sous-répertoires à ce nombre. (Par exemple, si vous avez une arborescence de répertoires "a", "b" et "c", /S2 n'affectera que les répertoires "a", "b" et "c").

 

Si vous spécifiez un + suivi d 'un nombre après le /S, @FILES ne comptera aucun fichier jusqu'à ce qu'il atteigne cette profondeur dans l'arborescence des sous-répertoires . Par exemple, si vous avez une arborescence de répertoires \a\b\c\d\e, /S+2 ne comptera rien dans \a ou \a\b.

 

Si vous incluez l' argumentoptionnel /H, @FILES ne comptera pas les entrées de répertoire "." et "..." dans le décompte.

 

Exemples :

 

echo %@files[/[s2k,3k] *.txt]

 number of files with extension txt in the current directory with size at least 2000 bytes and at most 3000 bytes

 

echo %@files[*,d]

 number of subdirectories

 

echo %@files[/[d-365] %windir\w*.exe;w*.dll]

 number of files at most 365 days old in the Windows directory, with extension EXE or DLL, and name beginning with w