option de dir : Méthode de JCB

Le
Emmanuel
bonjour,
Dans l'article suivant, Jean-Claude Bellamy nous indiquait une méthode :

http://www.generation-nt.com/reponses/taille-d-un-fichier-en-commande-dos-entraide-249702.html#reponse

Comment puis-je la simplifier pour obtenir tout simplement la taille
d'un fichier par une commande ?
Merci d'avance,
Cordialement,
Emmanuel
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Amandine Parmesan
Le #20791381
On Thu, 17 Dec 2009 21:43:48 +0100, Emmanuel
bonjour,
Dans l'article suivant, Jean-Claude Bellamy nous indiquait une méthode :

http://www.generation-nt.com/reponses/taille-d-un-fichier-en-commande-dos-entraide-249702.html#reponse

Comment puis-je la simplifier pour obtenir tout simplement la taille
d'un fichier par une commande ?
Merci d'avance,
Cordialement,
Emmanuel



Creer un fichier SizeOfFile.bat
Y coller ce contenu dedant :

@echo off
for /F "tokens=3,4 skip=5 delims= " %%F in ('dir %1 /-C') do if %%F==0 echo %%G taille nulle

Et puis tu lance "SizeOfFile.bat argument". Exemple :

SizeOfFile.bat c:

Doit te trouver autoexec.bat et config.sys

ou bien

SizeOfFile.bat c:autoexec.bat

te donnera "taille nulle"

Si le fichier en argument n'est pas egal a zeroo, rien n'est retourné comme chaine (mais ca peut se rajouter)

Dans ce code, c'est %1 qui retourne l'argument. Si %1 est vide, le dir affiche tous les fichiers du repertoire

Attention toutefois a l'atrbibut caché des fichiers

Donc je modifierai le code pour y ajouter un point apres dir :
@echo off
for /F "tokens=3,4 skip=5 delims= " %%F in ('dir. %1 /-C') do if %%F==0 echo %%G taille nulle


--
France-Irlande
J'ai pas honte d'être francaise, mais j'aimerai être fier en laissant notre place à l'Irlande.
C'est une question d'honneur
Mais je ne me fais aucune illusion. J'espère que l'equipe qui a volé le match soit humilié et rentre la tête baissé.
http://www.youtube.com/watch?v=ekxsmPnHWSA
Ascadix
Le #20791441
Emmanuel n'a pas économisé ses octets pour nous raconter que:

bonjour,
Dans l'article suivant, Jean-Claude Bellamy nous indiquait une
méthode :
http://www.generation-nt.com/reponses/taille-d-un-fichier-en-commande-dos-entraide-249702.html#reponse

Comment puis-je la simplifier pour obtenir tout simplement la taille
d'un fichier par une commande ?
Merci d'avance,
Cordialement,
Emmanuel



encore du FOR, regarde avec FOR /? en ligne de commande, c'est assez
pratique

for %I in (WCESLog.log) do echo %~zI

je te laisse le soin de remplacele nom de fichier par celui qui'tinteresse
hein :-)


--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça
arrive.
JoelNoyeux
Le #20793981
Emmanuel wrote:
bonjour,
Dans l'article suivant, Jean-Claude Bellamy nous indiquait une
méthode :
http://www.generation-nt.com/reponses/taille-d-un-fichier-en-commande-dos-entraide-249702.html#reponse

Comment puis-je la simplifier pour obtenir tout simplement la taille
d'un fichier par une commande ?
Merci d'avance,
Cordialement,
Emmanuel



Pour un usage général, j'ai modifié le .bat ci dessous (une seule ligne bien
sur)
impression de date/heure (%%F %%G) taille (%%H) et nom de fichier (%%I) si
taille non nulle et si non répertoire :

@echo off
for /F "tokens=1,2,3,4 skip=5 delims= " %%F in ('dir %1 /-C') do if NOT
%%H==0 (if NOT "%%H"=="<REP>" echo %%F %%G %%H %%I)

si cela peut servir
Tonio le Yéti
Le #20804501
Bonjour,

Pendant que nous sommes sur le sujet, peut-être l'un d'entre vous
pourrait-il m'aider.

Voici un script qui affiche la liste de tous les fichiers de taille vide.
Il admet le critère de recherche en argument (chemin + filtre)

TESTVIDE.BAT (de l'ami JCB trouvé sur
"news://news.microsoft.com/microsoft.public.fr.windowsxp")

------- couper ici -------
@echo off
for /F "tokens=3,4 skip=5 delims= " %%F in ('dir %1 /-C') do if %%F==0 echo
%%G taille nulle
------- couper ici -------

"Donc je récupère la taille dans la variable %%F (que je teste alors) et le
nom du fichier dans la variable %%G" dit-il, mais...
les noms de fichiers se sont pas affichés en totalité s'il y a un espace !

for /F "tokens=3,4 skip=7 delims= " %%F in ('dir "P:photos (oldies)"
/-C') do if NOT %%G==octets echo "%%G"

Tonio, qui aimerait lister les noms des photos seuls, demande : " En cas
de nom de fichiers longs (avec espaces), le nom de fichier ne s'affiche
pas en totalité. Quelle modification à apporter ?". Merci.
Jean-Claude BELLAMY
Le #20804831
"Tonio le Yéti" discussion :

Voici un script qui affiche la liste de tous les fichiers de taille vide.
Il admet le critère de recherche en argument (chemin + filtre)

TESTVIDE.BAT (de l'ami JCB trouvé sur
"news://news.microsoft.com/microsoft.public.fr.windowsxp")

------- couper ici -------
@echo off
for /F "tokens=3,4 skip=5 delims= " %%F in ('dir %1 /-C') do if %%F==0
echo
%%G taille nulle
------- couper ici -------

"Donc je récupère la taille dans la variable %%F (que je teste alors) et
le
nom du fichier dans la variable %%G" dit-il, mais...
les noms de fichiers se sont pas affichés en totalité s'il y a un espace !



Il suffit de remplacer dans la commande le 4ème "token" par TOUS les
"tokens" qui suivent le 3ème...

La commande devient alors :

for /F "tokens=3,* skip=5 delims= " %%F in ('dir %1 /-C') do if %%F==0
echo %%G taille nulle

Et alors ça fonctionne très bien ...

Comme d'hab', il suffisait de LIRE (vieil air connu !!!) l'aide en ligne de
la commande FOR !

FOR /?
[...]
tokens=x,y,m-n - spécifie les jetons de chaque ligne devant être
transmis au corps de FOR à chaque itération.
[...] 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 le dernier jeton analysé.
[...]


Étonnant, non ? ;-)

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Tonio le Yéti
Le #20807011
>> Voici un script qui affiche la liste de tous les fichiers de taille vide.
Il admet le critère de recherche en argument (chemin + filtre)

TESTVIDE.BAT (de l'ami JCB trouvé sur
"news://news.microsoft.com/microsoft.public.fr.windowsxp")

------- couper ici -------
@echo off
for /F "tokens=3,4 skip=5 delims= " %%F in ('dir %1 /-C') do if %%F==0
echo
%%G taille nulle
------- couper ici -------

"Donc je récupère la taille dans la variable %%F (que je teste alors) et
le
nom du fichier dans la variable %%G" dit-il, mais...
les noms de fichiers se sont pas affichés en totalité s'il y a un espace
!





JCB me répondit vertement (euh... lestement) alors :

Il suffit de remplacer dans la commande le 4ème "token" par TOUS les
"tokens" qui suivent le 3ème...

La commande devient alors :

for /F "tokens=3,* skip=5 delims= " %%F in ('dir %1 /-C') do if %%F==0
echo %%G taille nulle

Et alors ça fonctionne très bien ...

Comme d'hab', il suffisait de LIRE (vieil air connu !!!) l'aide en ligne
de la commande FOR !

FOR /?
[...]
tokens=x,y,m-n - spécifie les jetons de chaque ligne devant être
transmis au corps de FOR à chaque itération.
[...] 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 le dernier jeton analysé.
[...]


Étonnant, non ? ;-)

--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr




Merci ami JCB,

ceci - grace à toi - me va très bien.
for /F "tokens=3,* skip=7 delims= " %%F in ('dir "Z:photos (oldies)" /-C')
do if NOT %%G==octets echo %%G

Tonio, amicalement ;-)
Amandine Parmesan
Le #20808291
On Sun, 20 Dec 2009 19:46:12 +0100, "Tonio le Yéti"

Merci ami JCB,

ceci - grace à toi - me va très bien.
for /F "tokens=3,* skip=7 delims= " %%F in ('dir "Z:photos (oldies)" /-C')
do if NOT %%G==octets echo %%G

Tonio, amicalement ;-)



Sauf que "Z:photos (oldies)" pourrait être passé en argument. Ca
permet de faire un script reutilisable et la possibilité d'utiliser
les options de dir par la même occasion

Et comme je l'ai dejà dit plus haut, le mieux est de mettre un point
apres dir :
for /F "tokens=3,* skip=7 delims= " %%F in ('dir. "Z:photos (oldies)"
/-C') do if NOT %%G==octets echo %%G

--
France-Irlande
J'ai pas honte d'être francaise, mais j'aimerai être fier en laissant notre place à l'Irlande.
C'est une question d'honneur
Mais je ne me fais aucune illusion. J'espère que l'equipe qui a volé le match soit humilié et rentre la tête baissé.
http://www.youtube.com/watch?v=ekxsmPnHWSA
Publicité
Poster une réponse
Anonyme