@FILESIZE[[/S[[+]n]]] [range...] filename[,[scale[c][,a]]] : renvoie la taille d'un fichier, ou -1 si le fichier n'existe pas. Si nom de fichier comprend des caractères génériques ou une liste d'inclusion, il renvoie la taille combinée de tous les fichiers correspondants. Le troisième paramètre facultatif a indique à @FILESIZE de renvoyer la quantité d'espace allouée au(x) fichier(s) sur le disque. (Les lecteurs réseau et les lecteurs compressés n'indiquent pas toujours avec précision les tailles allouées, en fonction de la manière dont le réseau ou le logiciel de compression de disque est implémenté).
Le nom du fichier doit être mis entre guillemets s'il contient des espaces blancs ou des caractères spéciaux.
Le deuxième paramètre spécifie l'échelle de rapport (voir Taille de la mémoire / Espace disque / Unités de taille de fichier et Format de rapport). L'ajout de la lettre c demande que le résultat soit formaté en utilisant le séparateur de milliers.
Le paramètre facultatif de plage définit les propriétés des fichiers qui seront inclus dans le résultat, comme indiqué dans Sélection des fichiers. Plusieurs paramètres d'intervalle peuvent être inclus, mais pas plus d'un par intervalle de description, par intervalle de taille, par intervalle de date et par intervalle d'heure. 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, @FILESIZE 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, @FILESIZE 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, @FILESIZE ne comptera aucune taille de 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.
@FILESIZE permet de renvoyer la taille des flux de fichiers. @FILESIZE permet également de récupérer la taille des fichiers HTTP et HTTPS. (Notez qu'en raison des limitations du protocole HTTP, vous ne pouvez pas utiliser de caractères génériques ni analyser les sous-répertoires).
Exemples :
echo %@filesize[d:\path\myfile.ext]
417
echo %@filesize["%comspec",bc]
359,400
echo %@filesize["%comspec",bc,a]
360,448