Statistique de vos disques dur.

Soyez le premier à donner votre avis sur cette source.

Snippet vu 4 909 fois - Téléchargée 26 fois

Contenu du snippet

Petite remote (fonctionnant sans DLL ni apport exterieur) qui permet de retourner la plupart des infos (Nom, Type, espace total, espace libre, pourcentage d'espace occupé & libre) de vos disques dur. Ce code n'a rien de pretentieux, mais je l'ai fais suite à la demande d'un ami afin d'avoir des stats rapide sur IRC.

Source / Exemple :


on *:input:#: {
  if ($$1 == .state) { 
    if (!$2-) { .timer 1 2 msg $chan 1[ Analyse ] Vous devez préciser le nom du volume à analyser ! (Exemple : .state c:) | halt }
    elseif (: !isin $2) { .timer 1 2 msg $chan 1[ Analyse ] Nom du volume invalide ! Veuillez respecter cette syntaxe :1 .state c: | halt }
    else {
      if ((!$disk($2).size) || ($disk($2).size == 0)) { .timer 1 2 msg $chan 1[ Analyse ] Ce volume n'est pas supporté par votre ordinateur, ou n'est pas présent ! | halt }
      else {
        if ($disk($2).type == fixed) { var %trans.type Interne }
        else { var %trans.type Externe }
        .timer 1 2 msg $chan 1Vérification de l'état du volume $$2 
        .timer 1 3 msg $chan 1Type de disque :14 %trans.type $+ 1,
        .timer 1 4 msg $chan 1Nom du volume :14 $disk($$2.label $+ 1,
        .timer 1 5 msg $chan 1Espace Total :14 $round($calc($disk($2).size / 1073741824),2) 1Go,
        .timer 1 6 msg $chan 1Espace Libre :14 $round($calc($disk($2).free / 1073741824),2) 1Go,
        .timer 1 7 msg $chan 1L'espace libre représente14 $round($calc(100 * $round($calc($disk($2).free / 1073741824),2) / $round($calc($disk($2).size / 1073741824),2)),2) $+ 1% de l'espace total,
        .timer 1 8 msg $chan 1Le volume est donc rempli à14 $round($calc(100 - $round($calc(100 * $round($calc($disk($2).free / 1073741824),2) / $round($calc($disk($2).size / 1073741824),2)),2)),2) $+ 1% $+ .
        .timer 1 9 msg $chan 1Analyse terminée pour $2 $+ .
      }
    }
  }
}

Conclusion :


Pour faire fonctionner ce code, copier le dans une nouvelle page 'remote' de votre client IRC, puis vous faites .state c: sur un salon, et voilà.
ATTENTION : Cette remote analyse un seul disque, pour en tester plusieurs, vous devez repeter la commande autant de fois que necessaire en modifiant le nom du volume.
(Le texte fonctionne sur un input, et retourne les infos sur le salon où la commande a été tapée. Si vous souhaitez avec le meme qui fonctionne sur un alias et qui retourne les infos en echo, suffit de demander ^^).

Si la valeur d'espace total n'est pas exactement la même qu'indiquée sur l'emballage de votre DD, c'est normal, la remote retourne les valeurs 'reeles' et non les octets 'informatique'. (cf google pour plus d'infos).

A voir également

Ajouter un commentaire

Commentaires

cs_PaTaTe
Messages postés
1878
Date d'inscription
mercredi 21 août 2002
Statut
Contributeur
Dernière intervention
7 janvier 2019
-
Y a t-il moyen de detecter tous disque durs en vigueur sur la machine et d'additionner le tout ?
RCA ArKanis
Messages postés
1287
Date d'inscription
mercredi 21 avril 2004
Statut
Membre
Dernière intervention
21 février 2009
-
encore un truc qui choque ...

if ($chr(58) !isin $$2) { .timer 1 2 msg $chan 1[ Analyse ] Nom du volume invalide ! Veuillez respecter cette syntaxe :1 .state c: | halt }
tu /halt, donc tu ne verras pas le .state, mais ton timer va tout de même faire envoyer un message sur le salon. Tu ne ferais pas mieux de mettre un echo ?

sinon, vu que tu as mis if (!$2-) { ... halt }, tu n'as pas besoin de doubler le $ à la ligne suivante, et le $chr j'pense pas qu'il soit utile. Ca devient :
if (: !isin $2)

en fait, ce qu'il serait bien, c'est d'avoir :
if (!$2-) .timer 1 1 msg $chan ...
elseif (: !isin $2) .timer 1 1 msg $chan ...
else {
etc ....
}

sinon le else n'a aucun intérêt vu que tu /halt
Nort0n
Messages postés
41
Date d'inscription
jeudi 27 novembre 2003
Statut
Membre
Dernière intervention
18 octobre 2010
-
Bon aller, la source dort depuis quelques temps, et vu les commentaires, j'vais me lancer dans une p'tite optimisation/Mise à Jour du code.

Merci pour vos comments, j'espère avoir quelques nouvelles quand la remote sera up ^^
GenerationNoNNoN
Messages postés
10
Date d'inscription
dimanche 18 juin 2006
Statut
Membre
Dernière intervention
23 juin 2006
-
Tu set beaucoup trop de variables je pense, sinon sa pourrait être optimisé .
cs_wims
Messages postés
2466
Date d'inscription
vendredi 23 juillet 2004
Statut
Membre
Dernière intervention
1 août 2010
1 -
Hum le site a buguer dsl du double post :)

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.