OVH Cloud OVH Cloud

si grosseur du ficher < 10 mo faire

4 réponses
Avatar
sgroulx
Bonjour,
j'aimerais dans une batchfile mettre la commande suivante
si grosseur du ficher < 10 mo faire
mais comment.
@if """ < "10485760" goto plusgrand
.....

merci de votre aide futur
Sébas

4 réponses

Avatar
Jacques Barathon [MS]
Ma solution est plus qu'agricole, elle est carrément bourrine:

1. Crèe un fichier dirfilter.cmd qui contient la ligne suivante:

@dir /-c %1|find /i "%1"

2. Dans ton batch, utilise la séquence suivante:

for /f "tokens=3" %s in ('dirfilter monfichier') do if %s LSS 10000 echo
Moins de 10Mo

A toi de remplacer monfichier par le bon nom de fichier. Pour info, à la
place de LSS tu peux utiliser les comparateurs suivants:

EQU - égal à
NEQ - différent de
LSS - inférieur à
LEQ - inférieur ou égal à
GTR - supérieur à
GEQ - supérieur ou égal à

Jacques

"sgroulx" <s_groulx(bidon)@videotron.ca> wrote in message
news:eB30W%
Bonjour,
j'aimerais dans une batchfile mettre la commande suivante
si grosseur du ficher < 10 mo faire
mais comment.
@if """ < "10485760" goto plusgrand
.....

merci de votre aide futur
Sébas




Avatar
sgroulx
"Jacques Barathon [MS]" a écrit dans le
message de news:
Ma solution est plus qu'agricole, elle est carrément bourrine:

1. Crèe un fichier dirfilter.cmd qui contient la ligne suivante:

@dir /-c %1|find /i "%1"

2. Dans ton batch, utilise la séquence suivante:

for /f "tokens=3" %s in ('dirfilter monfichier') do if %s LSS 10000 echo
Moins de 10Mo

A toi de remplacer monfichier par le bon nom de fichier. Pour info, à la
place de LSS tu peux utiliser les comparateurs suivants:

EQU - égal à
NEQ - différent de
LSS - inférieur à
LEQ - inférieur ou égal à
GTR - supérieur à
GEQ - supérieur ou égal à

Jacques



bonjour Jacques
cela ne fonction pas
C:test2>test.bat
s était inattendu.

C:test2>for /f "tokens=3" s LSS 10000 echo Moins de 10Mo

voila mes fichier
test.bat
for /f "tokens=3" %s in ('dirfilter.cmd test.zip') do if %s LSS 10000 echo
Moins de 10Mo

dirfilter.cmd
@dir /-c %1|find /i "%1"

si jexécute dirfliter.com test.zip sa me donne
C:test2>dirfilter test.zip
2004-10-22 14:34 7596443 test.zip

voyez vous l'érreur???
merci





"sgroulx" <s_groulx(bidon)@videotron.ca> wrote in message
news:eB30W%
Bonjour,
j'aimerais dans une batchfile mettre la commande suivante
si grosseur du ficher < 10 mo faire
mais comment.
@if """ < "10485760" goto plusgrand
.....

merci de votre aide futur
Sébas








Avatar
Jean-Claude BELLAMY
Dans le message news:uUrY3t% ,
sgroulx <s_groulx(bidon)@videotron.ca> s'est ainsi exprimé:

"Jacques Barathon [MS]" a écrit dans
le message de news:
Ma solution est plus qu'agricole, elle est carrément bourrine:

1. Crèe un fichier dirfilter.cmd qui contient la ligne suivante:

@dir /-c %1|find /i "%1"

2. Dans ton batch, utilise la séquence suivante:

for /f "tokens=3" %s in ('dirfilter monfichier') do if %s LSS 10000
[...]

cela ne fonction pas
C:test2>test.bat
s était inattendu.

C:test2>for /f "tokens=3" s LSS 10000 echo Moins de 10Mo


Il FAUT DOUBLER les"%" dans un batch !

En ligne de commande :
for /f "tokens=3" %s in ('dirfilter monfichier') do if %s LSS 10000

Dans un batch :
for /f "tokens=3" %%s in ('dirfilter monfichier') do if %%s LSS 10000



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



Avatar
Jacques Barathon [MS]
"Jean-Claude BELLAMY" wrote in message
news:
Dans le message news:uUrY3t% ,
sgroulx <s_groulx(bidon)@videotron.ca> s'est ainsi exprimé:

"Jacques Barathon [MS]" a écrit dans
le message de news:
Ma solution est plus qu'agricole, elle est carrément bourrine:

1. Crèe un fichier dirfilter.cmd qui contient la ligne suivante:

@dir /-c %1|find /i "%1"

2. Dans ton batch, utilise la séquence suivante:

for /f "tokens=3" %s in ('dirfilter monfichier') do if %s LSS 10000
[...]

cela ne fonction pas
C:test2>test.bat
s était inattendu.

C:test2>for /f "tokens=3" s LSS 10000 echo Moins de 10Mo


Il FAUT DOUBLER les"%" dans un batch !

En ligne de commande :
for /f "tokens=3" %s in ('dirfilter monfichier') do if %s LSS 10000

Dans un batch :
for /f "tokens=3" %%s in ('dirfilter monfichier') do if %%s LSS 10000


Exact, j'ai fait mon test directement depuis la ligne de commande et je n'ai
réalisé mon oubli qu'après. Merci Jean-Claude.

Jacques