Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Jean-Claude BELLAMY
Dans le message :, RS a pris la peine d'écrire ce qui suit :
Bonjour,
Je cherche à faire ceci, en fichier batch :
if taille-du-fichier c:test.txt = 0 goto fin echo la taille du fichier est differente de 0
fin echo la taille du fichier est egale a 0
Y'a-t-il une commande dos ? DOS ???????????????????
Certainement pas !!!!!!
Mais une "commande", oui !
p.ex. voci 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 ------- 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 -------
Exemple d'utilisation (chez moi) I:VBS>testvide showadm.log taille nulle
La "clef" est la boucle FOR avec sa syntaxe hyper puissante. Exécute FOR /? pour avoir de l'aide détaillée
Commentaires :
'dir %1 /-C' Quand on encadre une chaine entre apostrophes (="simple quote") dans ce qui suit le "in" de la boucle, c'est considéré comme une COMMANDE qui est évaluée et donc le résultat est analysé par la commande FOR.
tokens=3,4 je retiens uniquement les 3ème et 4ème blocs de chaque ligne de la commande dir En effet, "dir c:windowssystem32*.txt" donne ceci (chez moi) : Le volume dans le lecteur C s'appelle WINDOWS Le numéro de série du volume est 28BD-DCC1
Répertoire de c:windowssystem32
11/01/2006 15:41 39 adrIP.txt 19/12/2005 20:17 0 arp.txt 24/08/2001 14:00 19 199 eula.txt 11/10/2005 21:34 0 h323log.txt 21/02/2006 12:46 2 837 liste.txt [...] On voit que la taille et le nom du fichier sont les 3ème et 4ème champs
skip=5 Je saute les 5 1ères lignes
delims le délimiteur de champs est l'espace
Donc je récupère la taille dans la variable %%F (que je teste alors) et le nom du fichier dans la variable %%G
-> Une telle commande tenant sur UNE SEULE LIGNE, difficile de faire mieux ! ;-)
-- 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
Dans le message :4A56C2FA-3775-4EA2-B237-0DD6D9397152@microsoft.com,
RS <RS@discussions.microsoft.com> a pris la peine d'écrire ce qui suit :
Bonjour,
Je cherche à faire ceci, en fichier batch :
if taille-du-fichier c:test.txt = 0 goto fin
echo la taille du fichier est differente de 0
fin
echo la taille du fichier est egale a 0
Y'a-t-il une commande dos ?
DOS ???????????????????
Certainement pas !!!!!!
Mais une "commande", oui !
p.ex. voci 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
------- 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 -------
Exemple d'utilisation (chez moi)
I:VBS>testvide
showadm.log taille nulle
La "clef" est la boucle FOR avec sa syntaxe hyper puissante.
Exécute
FOR /?
pour avoir de l'aide détaillée
Commentaires :
'dir %1 /-C'
Quand on encadre une chaine entre apostrophes (="simple quote")
dans ce qui suit le "in" de la boucle, c'est considéré comme
une COMMANDE qui est évaluée et donc le résultat est analysé
par la commande FOR.
tokens=3,4
je retiens uniquement les 3ème et 4ème blocs de chaque ligne de la
commande dir
En effet, "dir c:windowssystem32*.txt" donne ceci (chez moi) :
Le volume dans le lecteur C s'appelle WINDOWS
Le numéro de série du volume est 28BD-DCC1
Répertoire de c:windowssystem32
11/01/2006 15:41 39 adrIP.txt
19/12/2005 20:17 0 arp.txt
24/08/2001 14:00 19 199 eula.txt
11/10/2005 21:34 0 h323log.txt
21/02/2006 12:46 2 837 liste.txt
[...]
On voit que la taille et le nom du fichier sont les 3ème et 4ème champs
skip=5
Je saute les 5 1ères lignes
delims le délimiteur de champs est l'espace
Donc je récupère la taille dans la variable %%F (que je teste alors) et le
nom du fichier dans la variable %%G
-> Une telle commande tenant sur UNE SEULE LIGNE, difficile de faire mieux !
;-)
--
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
Dans le message :, RS a pris la peine d'écrire ce qui suit :
Bonjour,
Je cherche à faire ceci, en fichier batch :
if taille-du-fichier c:test.txt = 0 goto fin echo la taille du fichier est differente de 0
fin echo la taille du fichier est egale a 0
Y'a-t-il une commande dos ? DOS ???????????????????
Certainement pas !!!!!!
Mais une "commande", oui !
p.ex. voci 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 ------- 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 -------
Exemple d'utilisation (chez moi) I:VBS>testvide showadm.log taille nulle
La "clef" est la boucle FOR avec sa syntaxe hyper puissante. Exécute FOR /? pour avoir de l'aide détaillée
Commentaires :
'dir %1 /-C' Quand on encadre une chaine entre apostrophes (="simple quote") dans ce qui suit le "in" de la boucle, c'est considéré comme une COMMANDE qui est évaluée et donc le résultat est analysé par la commande FOR.
tokens=3,4 je retiens uniquement les 3ème et 4ème blocs de chaque ligne de la commande dir En effet, "dir c:windowssystem32*.txt" donne ceci (chez moi) : Le volume dans le lecteur C s'appelle WINDOWS Le numéro de série du volume est 28BD-DCC1
Répertoire de c:windowssystem32
11/01/2006 15:41 39 adrIP.txt 19/12/2005 20:17 0 arp.txt 24/08/2001 14:00 19 199 eula.txt 11/10/2005 21:34 0 h323log.txt 21/02/2006 12:46 2 837 liste.txt [...] On voit que la taille et le nom du fichier sont les 3ème et 4ème champs
skip=5 Je saute les 5 1ères lignes
delims le délimiteur de champs est l'espace
Donc je récupère la taille dans la variable %%F (que je teste alors) et le nom du fichier dans la variable %%G
-> Une telle commande tenant sur UNE SEULE LIGNE, difficile de faire mieux ! ;-)
-- 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
JF
*Bonjour Jean-Claude BELLAMY* ! news:O$
| Dans le message :, | RS a pris la peine d'écrire ce qui suit : || Bonjour, || || Je cherche à faire ceci, en fichier batch : || || if taille-du-fichier c:test.txt = 0 goto fin || echo la taille du fichier est differente de 0 ||| fin || echo la taille du fichier est egale a 0 || || Y'a-t-il une commande dos ? | DOS ??????????????????? | Certainement pas !!!!!! | | Mais une "commande", oui ! | | p.ex. voci 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 | ------- 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 ------- [snip] | -> Une telle commande tenant sur UNE SEULE LIGNE, difficile de faire | mieux ! ;-)
Suggestions : Régler la longueur de ligne de OE de façon à ce que la ligne de commande ne soit pas coupée.
Et pour l'en-tête : "Dans le message :, RS a pris la peine d'écrire ce qui suit :"
Cliquer sur le lien du message ne mène à rien si celui-ci n'est pas précédé du protocole news:
Merci de tes excellentes contributions. Amicalement, -- 1- Salutations, Jean-François :o) 2- Index du site de PN : http://www.d2i.ch/pn/az 3- Montrez vos écrans : http://fspsa.free.fr/copiecran.htm 4- Outlook Express: Suivez vos fils avec [CTL+H]
| Dans le message :4A56C2FA-3775-4EA2-B237-0DD6D9397152@microsoft.com,
| RS <RS@discussions.microsoft.com> a pris la peine d'écrire ce qui suit :
|| Bonjour,
||
|| Je cherche à faire ceci, en fichier batch :
||
|| if taille-du-fichier c:test.txt = 0 goto fin
|| echo la taille du fichier est differente de 0
||| fin
|| echo la taille du fichier est egale a 0
||
|| Y'a-t-il une commande dos ?
| DOS ???????????????????
| Certainement pas !!!!!!
|
| Mais une "commande", oui !
|
| p.ex. voci 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
| ------- 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 -------
[snip]
| -> Une telle commande tenant sur UNE SEULE LIGNE, difficile de faire
| mieux ! ;-)
Suggestions :
Régler la longueur de ligne de OE de façon à ce que la ligne de commande ne
soit pas coupée.
Et pour l'en-tête :
"Dans le message :4A56C2FA-3775-4EA2-B237-0DD6D9397152@microsoft.com,
RS <RS@discussions.microsoft.com> a pris la peine d'écrire ce qui suit :"
Cliquer sur le lien du message ne mène à rien si celui-ci n'est pas précédé
du protocole news:
Merci de tes excellentes contributions.
Amicalement,
--
1- Salutations, Jean-François :o)
2- Index du site de PN : http://www.d2i.ch/pn/az
3- Montrez vos écrans : http://fspsa.free.fr/copiecran.htm
4- Outlook Express: Suivez vos fils avec [CTL+H]
| Dans le message :, | RS a pris la peine d'écrire ce qui suit : || Bonjour, || || Je cherche à faire ceci, en fichier batch : || || if taille-du-fichier c:test.txt = 0 goto fin || echo la taille du fichier est differente de 0 ||| fin || echo la taille du fichier est egale a 0 || || Y'a-t-il une commande dos ? | DOS ??????????????????? | Certainement pas !!!!!! | | Mais une "commande", oui ! | | p.ex. voci 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 | ------- 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 ------- [snip] | -> Une telle commande tenant sur UNE SEULE LIGNE, difficile de faire | mieux ! ;-)
Suggestions : Régler la longueur de ligne de OE de façon à ce que la ligne de commande ne soit pas coupée.
Et pour l'en-tête : "Dans le message :, RS a pris la peine d'écrire ce qui suit :"
Cliquer sur le lien du message ne mène à rien si celui-ci n'est pas précédé du protocole news:
Merci de tes excellentes contributions. Amicalement, -- 1- Salutations, Jean-François :o) 2- Index du site de PN : http://www.d2i.ch/pn/az 3- Montrez vos écrans : http://fspsa.free.fr/copiecran.htm 4- Outlook Express: Suivez vos fils avec [CTL+H]