Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

comment connaître le nombre et type de fichiers?

25 réponses
Avatar
Bégé
Bonjour à tous,

pour des statistiques je dois connaître le nombre et types de fichiers
contenus
dans dossier,

par exemple si je sélectionne un dossier, je voudrais savoir combien il
contient de
fichiers *.jpg - *.html - *.gif etc.

comment faire?

merci de votre aide


www.blooo.fr

10 réponses

1 2 3
Avatar
Jean-Claude BELLAMY
"Bégé" a écrit dans le message de
news:
pour des statistiques je dois connaître le nombre et types de fichiers
contenus dans dossier,

par exemple si je sélectionne un dossier, je voudrais savoir combien il
contient de fichiers *.jpg - *.html - *.gif etc.

comment faire?



Avec un simple batch, ça se fait nasodigitalement !

fichier "enumext.cmd"
---------- couper ici ----------
@echo off
if %1.==. goto syntaxe
set N=0
for %%F in (*%1) do set /A N=!N!+1
echo Il y a !N! fichier(s) d'extension %1 dans %CD%
goto fin
:syntaxe
echo syntaxe :
echo enumext ^<extension^>
echo l'extension doit commencer par un point
:fin
---------- couper ici ----------

Exemple d'utilisation (chez moi)
(je me suis placé dans le dossier "c:vbs")

C:vbs>enumext .vbs
Il y a 125 fichier(s) d'extension .vbs dans C:vbs

C:vbs>enumext .wsf
Il y a 11 fichier(s) d'extension .wsf dans C:vbs

C:vbs>enumext .exe
Il y a 20 fichier(s) d'extension .exe dans C:vbs

C:vbs>enumext .
Il y a 0 fichier(s) d'extension . dans C:vbs

A toi d'adapter ce script à ta guise ...
p.ex. en ajoutant le commutateur "/R" juste après la commande FOR si on veut
un décomptage récursif.
...
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Avatar
sim
"Bégé" a écrit dans le message de news:

Bonjour à tous,

pour des statistiques je dois connaître le nombre et types de fichiers
contenus
dans dossier,

par exemple si je sélectionne un dossier, je voudrais savoir combien il
contient de
fichiers *.jpg - *.html - *.gif etc.

comment faire?

merci de votre aide


www.blooo.fr

Tu selectionnes le dossier et ensuite fichier rechercher jpg , html .....


Avatar
Bégé
>>Tu selectionnes le dossier et ensuite fichier rechercher jpg , html .....






c'est ce que je faisais jusqu'à présent mais ça devient contraignant :-(
Avatar
Bégé
> Avec un simple batch, ça se fait nasodigitalement !



je vais essayer ça de suite,

merci !
Avatar
Bégé
> Avec un simple batch, ça se fait nasodigitalement !

fichier "enumext.cmd"
---------- couper ici ----------
@echo off
if %1.==. goto syntaxe
set N=0
for %%F in (*%1) do set /A N=!N!+1
echo Il y a !N! fichier(s) d'extension %1 dans %CD%
goto fin
:syntaxe
echo syntaxe :
echo enumext ^<extension^>
echo l'extension doit commencer par un point
:fin
---------- couper ici ----------


si j'ai bien compris, je nomme ce fichier enumext.cmd

C:vbs>enumext .vbs
Il y a 125 fichier(s) d'extension .vbs dans C:vbs


et si par exemple je veux connaître le nombre de fichiers *.jpg
je tape le commande enumext .cmd" avec un espace après enumext?

je viens d'essayer ça et il me dit "opérateur manquant"

j'ai loupé quoi?
Avatar
Jacques93
Bonjour Bégé, et tout le monde,

JCB étant peut être à table, il ne manquera pas à son retour de
t'expliquer en détail, le principe d'expansion retardée des variables
avec le symbôle ! (ici avec !N!)

Tu peux, soit lancer l'invite de commande avec /V, soit modifier le
script de JCB en ajoutant en deuxième ligne :

setlocal enableDelayedExpansion

Sûr que Jean-Caude Bellamy a une petite fiche sur le sujet
;-)

Bégé a écrit :
Avec un simple batch, ça se fait nasodigitalement !

fichier "enumext.cmd"
---------- couper ici ----------
@echo off
if %1.==. goto syntaxe
set N=0
for %%F in (*%1) do set /A N=!N!+1
echo Il y a !N! fichier(s) d'extension %1 dans %CD%
goto fin
:syntaxe
echo syntaxe :
echo enumext ^<extension^>
echo l'extension doit commencer par un point
:fin
---------- couper ici ----------


si j'ai bien compris, je nomme ce fichier enumext.cmd

C:vbs>enumext .vbs
Il y a 125 fichier(s) d'extension .vbs dans C:vbs


et si par exemple je veux connaître le nombre de fichiers *.jpg
je tape le commande enumext .cmd" avec un espace après enumext?

je viens d'essayer ça et il me dit "opérateur manquant"

j'ai loupé quoi?






--

Cordialement,

Jacques.
Avatar
jackr13
Bonjour,

Bégé wrote:
Avec un simple batch, ça se fait nasodigitalement !

fichier "enumext.cmd"
---------- couper ici ----------
@echo off
if %1.==. goto syntaxe
set N=0
for %%F in (*%1) do set /A N=!N!+1
echo Il y a !N! fichier(s) d'extension %1 dans %CD%
goto fin
syntaxe


echo syntaxe :
echo enumext ^<extension^>
echo l'extension doit commencer par un point
fin


---------- couper ici ----------


si j'ai bien compris, je nomme ce fichier enumext.cmd

C:vbs>enumext .vbs
Il y a 125 fichier(s) d'extension .vbs dans C:vbs


et si par exemple je veux connaître le nombre de fichiers *.jpg
je tape le commande enumext .cmd" avec un espace après enumext?

je viens d'essayer ça et il me dit "opérateur manquant"

j'ai loupé quoi?



Si tu veux les fichiers .jpg
tu tapes enumext^.jpg ^pour indiquer un espace.
et pour .bmp enumext^.bmp



Cordialement,
jackr13
Avatar
Jean-Claude BELLAMY
"Bégé" a écrit dans le message de
news:


Avec un simple batch, ça se fait nasodigitalement !

fichier "enumext.cmd"
---------- couper ici ----------
@echo off
if %1.==. goto syntaxe
set N=0
for %%F in (*%1) do set /A N=!N!+1
echo Il y a !N! fichier(s) d'extension %1 dans %CD%
goto fin
:syntaxe
echo syntaxe :
echo enumext ^<extension^>
echo l'extension doit commencer par un point
:fin
---------- couper ici ----------


si j'ai bien compris, je nomme ce fichier enumext.cmd

C:vbs>enumext .vbs
Il y a 125 fichier(s) d'extension .vbs dans C:vbs


et si par exemple je veux connaître le nombre de fichiers *.jpg
je tape le commande enumext .cmd" avec un espace après enumext?


Tu as fait un lapsus clavi je ^présume ...
Pour énumérer tous les JPG, tu tapes:
enumext .jpg
(avec au moins UN espace entre "enumext" et l'extension concernée)

je viens d'essayer ça et il me dit "opérateur manquant"
j'ai loupé quoi?



C'est parce que l'expansion retardée des variables n'est pas activée chez
toi.!
Désolé d'avoir oublié de te le préciser, car chez moi c'est systématique sur
toutes les machines.

En effet, ce paramètre "d'expansion retardée de variables" ("Delayed
Expansion") permet d'expliciter le contenu d'une variable EN COURS
d'exécution d'un script (et non au début).
Dans ce cas, la variable doit être encadrée par des "!" au lieu de "%"
Si on ne le fait pas, la variable est initialisée la 1ère fois, mais
n'évolue plus au cours de la boucle.
(donc on aurait toujours N=0)

On active l'expansion retardée des variables en exécutant CMD (une fois
suffit) avec le commutateur "/V:ON"

On peut aussi la rendre permanente en ajoutant une entrée dans la clef :
HKEY_LOCAL_MACHINESOFTWAREMicrosoftCommand Processor
Entrée "DelayedExpansion"
Type REG_DWORD
Valeur 0x00000001
NB: tout est dans l'aide de SET




--
--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP] - http://www.bellamyjc.org
Avatar
P
Hello Bégé !
Tu selectionnes le dossier et ensuite fichier rechercher jpg , html .....







c'est ce que je faisais jusqu'à présent mais ça devient contraignant :-(



Vous avez une solution "agricole" !!!

Si par exemple vous voulez explorer le dossiers lalbums et ses sous
dossiers vous faite en invite de commande :
dir l:albums*.jpg /S et vous aurez le nombre de fichier jpg qui
s'affichera en bas de l'écran
si pas de sous dossier, alors retirer le /S
pour les autres type de fichier, vous faites *.typedefichier à la place
de *.jpg

--
Bien cordialement, Georges
Aide toi le ciel t'aidera : http://papynet.mvps.org/Forums.htm
Pour prendre contact : http://minilien.com/?1xjHkMIEp0
Pages XP : http://papynet.mvps.org/XP/XP.htm Vista :
http://papynet.mvps.org/Vista/Vista.htm
Avatar
Bégé
> Si tu veux les fichiers .jpg
tu tapes enumext^.jpg ^pour indiquer un espace.
et pour .bmp enumext^.bmp



oui c'est bien ce que je fais et alors j'ai
"opérateur manquant"
1 2 3