[MS-DOS] Utiliser les conditions

Dédé86 Messages postés 682 Date d'inscription   Statut Membre Dernière intervention   -  
cchristian Messages postés 921 Date d'inscription   Statut Membre Dernière intervention   -
Je voudrais savoir comment utiliser les conditions dans MS-DOS.

J'aimerais créer un fichier bat qui défragmente le disque dur si celui ci à besoin d'être défragmenté (en utilisant la commande defrag c: -a pour analyser le disque dur, suite à cette commande, un message s'affiche : soit :
_ vous devriez défragmenter ce disque dur
ou
_ il ne vous est pas nécessaire de défragmenter ce volume.

Si ce dernier méssage est affiché à l'écran, alors exécuter la défragmentation avec la commande defrag c: -f. Mais je suis perdu entre les différents arguments et l'aide de MS-DOS qui n'est pas très parlante, je n'y arrive pas. Avez-vous un exemple à me proposer ?
A voir également:

6 réponses

cchristian Messages postés 921 Date d'inscription   Statut Membre Dernière intervention   131
 
Bonjour,

On peut toujours se bricoler une petite fonction (si c'est toujours pertinent .......):

ECHO OFF

SETLOCAL ENABLEdelayedExpansion
SETLOCAL ENABLEextensions

CLS

SET "F_MESDEF=defrag.txt"
SET  "mesdefrag=est nécessaire"

defrag c: -a        >             %F_MESDEF%

         FOR  /F   "tokens=1,1* delims="  %%J    IN   (
                ' TYPE %F_MESDEF%  ^|  FIND /I "%mesdefrag%"' )  DO  (
                defrag c: -f        )

        IF       EXIST 	%F_MESDEF%      ( ERASE     /A     %F_MESDEF%)
                
:EOF


Je ne connais pas la teneur exacte du message invitant à défragmenter, j'ai présumé qu'il est identique à son contraire à la négation près. :
Il ne vous est pas nécessaire de défragmenter ce volume.
Il vous est nécessaire de défragmenter ce volume.
1
jpdeclermont Messages postés 1790 Date d'inscription   Statut Membre Dernière intervention   382
 
bonsoir,

je n'ai pas de réponse pour le moment :)
à vérifier : est-ce que defrag renvoie un code différent suivant le taux de fragmentation ..... je n'en suis pas persuadé :)


-------------------------------
... WinErr 01B : Erreur illégale - Windows ne vous a pas autorisé à avoir cette erreur
0
Dédé86 Messages postés 682 Date d'inscription   Statut Membre Dernière intervention   208
 
Bonsoir,

Que veux tu dire par "est-ce que defrag renvoie un code différent suivant le taux de fragmentation" ?
0
jpdeclermont Messages postés 1790 Date d'inscription   Statut Membre Dernière intervention   382
 
re-

en règle générale, quand tu veux introduire un test de condition
(dans un batch ou autre) il faut bien quelque chose à tester !!!
pour defrag je n'en suis pas persuadé du tout ....

mais laissons les spécialistes s'exprimer :)


-------------------------------
... WinErr 01B : Erreur illégale - Windows ne vous a pas autorisé à avoir cette erreur
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Dédé86 Messages postés 682 Date d'inscription   Statut Membre Dernière intervention   208
 
bonsoir

ouaip, ben ouaip, je sais pas trop non plus...
Je vais prendre mon surf et aller surfer un peu sur le site de Microsoft France, peut-être vais-je trouver un gros poisson pour ce soir. (en fait, je vais plutôt y aller demain, là je vais aller me coucher...)

Merci
0
Lefouerrant Messages postés 567 Date d'inscription   Statut Membre Dernière intervention   116
 
avec errorlevel peut-etre
0