begin process at 2008 08 20 13:04:06
1 228 828 membres
197 nouveaux aujourd'hui
14 257 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMMANDES DOS DANS MIRC


Information sur la source

Catégorie :Divers Classé sous : cmd, dos, dosbox, command, msdos Niveau : Débutant Date de création : 06/06/2007 Date de mise à jour : 14/06/2007 10:15:31 Vu : 7 909

Note :
Aucune note

Commentaire sur cette source (15)
Ajouter un commentaire et/ou une note

Description

C'est pas nouveau, je sais ...
Mé voila, j'en avais besoin d'un qui faisait tout ce que je lui demandais... comme exécuter ipconfig /all , format, nmap, ... ce que je n'ai jamais réussi à faire avec les autres sources (suis-je trop bête? xD)

Enfin voila, une interraction avec cmd.exe & mIRC sans dll et sans comopen ...

J'ai pas trop commenté le code, parce qu'il n'est pas très ompliqué... & ça me saoule un peu les com, ça alourdis les sources, etc ...

Enfin voila.
N'hésitez pas à laisser des comentaires ...

Source

  • ; # doscmd ... <3 mIRC
  • on *:load: { mkdir cmd }
  • menu menubar {
  • doscmd:window -e @cmd
  • }
  • on *:input:@cmd: {
  • ; Verification: si c'est une commande mIRC: RETURN
  • if ($left($1,1) == /) { return }
  • ; Message a l'utilisateur (traitement de la commande)
  • linesep -a | echo 9 -a $time 3*14 Traitement de la commande:15 $1-
  • ; Creation de la variable %output : c'est le nom que les fichiers concernes vont avoir (%output.txt & %output.bat)
  • ; Creation du fichier bat
  • %output = cmd\ $+ $_r(10) | write %output $+ .bat $1- > $mircdir $+ %output $+ .txt
  • ; Execution du fichier bat (en minimize)
  • ; redefinition de la variable pour lui associer l'extension TXT
  • ; incrementation : Defini la ligne que le script 'lit' dans le fichier %output.txt
  • run -n %output $+ .bat | %output = %output $+ .txt | hinc -m cecho %output
  • ; timer loop qui affiche les lignes retournees par cmd.exe (dans %output.txt)
  • .timer $+ %output 0 0 cecho %output
  • linesep -a
  • }
  • alias -l cecho {
  • if (!$1) { echo 4 -at -[cecho\ $+ $nopath($script) $+ ]- Erreur: pas d'argument | return }
  • elseif ($isfile($1) != $true) { return }
  • ; Si la variable est plus petite que le nombre de lignes contenues dans le fichier temporaire, le script affiche cette ligne...
  • elseif ($hget(cecho,$1) < $lines($1)) {
  • if ($hget(loop,$1)) { hdel loop $1 }
  • echo 14 @cmd => $read($1,$hget(cecho,$1)) | hinc -m cecho $1
  • }
  • ; Sinon, le script tourne dans le vide
  • else {
  • hinc -m loop $1
  • ; si le timer s'est execute moins de 500X dans le vide, on return
  • if ($hget(loop,$1) < 500) { return }
  • ; sinon on arrete tout (j'imagine que la comande doit etre finie...)
  • hdel loop $1
  • .remove $1 | .remove $replace($1,txt,bat)
  • .timer $+ $1 off
  • }
  • halt
  • }
  • ; simple alias qui retourne une chaine de X ($1) caractères aléatoires...
  • alias -l _r {
  • if (!$1) { return } | if (%return) { unset %return }
  • %s = 1 | while (%s <= $1) { %return = %return $+ $r(a,z) | inc %s }
  • return %return
  • }
; # doscmd ... <3 mIRC

on *:load: { mkdir cmd }
menu menubar {
  doscmd:window -e @cmd
}
on *:input:@cmd: {
  ; Verification: si c'est une commande mIRC: RETURN
  if ($left($1,1) == /) { return }

  ; Message a l'utilisateur (traitement de la commande)
  linesep -a | echo 9 -a $time 3*14 Traitement de la commande:15 $1-

  ; Creation de la variable %output : c'est le nom que les fichiers concernes vont avoir (%output.txt & %output.bat)
; Creation du fichier bat 
  %output = cmd\ $+ $_r(10) | write %output $+ .bat $1- > $mircdir $+ %output $+ .txt
  ; Execution du fichier bat (en minimize) 
;  redefinition de la variable pour lui associer l'extension TXT
;  incrementation : Defini la ligne que le script 'lit' dans le fichier %output.txt

  run -n %output $+ .bat | %output = %output $+ .txt | hinc -m cecho %output

  ; timer loop qui affiche les lignes retournees par cmd.exe (dans %output.txt)
  .timer $+ %output 0 0 cecho %output 

  linesep -a
}

alias -l cecho {
  if (!$1) { echo 4 -at -[cecho\ $+ $nopath($script) $+ ]- Erreur: pas d'argument | return }
  elseif ($isfile($1) != $true) { return }

  ; Si la variable est plus petite que le nombre de lignes contenues dans le fichier temporaire, le script affiche cette ligne...
  elseif ($hget(cecho,$1) < $lines($1)) { 
    if ($hget(loop,$1)) { hdel loop $1 }
    echo 14 @cmd => $read($1,$hget(cecho,$1)) | hinc -m cecho $1
  }
  ; Sinon, le script tourne dans le vide
  else {
    hinc -m loop $1 
    ; si le timer s'est execute moins de 500X dans le vide, on return
    if ($hget(loop,$1) < 500) { return }
    ; sinon on arrete tout (j'imagine que la comande doit etre finie...)
    hdel loop $1
    .remove $1 | .remove $replace($1,txt,bat)
    .timer $+ $1 off 
  }
  halt
}
; simple alias qui retourne une chaine de X ($1) caractères aléatoires...
alias -l _r {
  if (!$1) { return } | if (%return) { unset %return }
  %s = 1 | while (%s <= $1) { %return = %return $+ $r(a,z) | inc %s }
  return %return
}

Conclusion

Pas de maj prévue, pas de bug (enfin, j'ai corrigé ceux que j'ai rencontré...), donc je pense qu'il n'y en a plus\pas...

Y'a moyen d'optimiser la source, mais je n'ai pas l'intention de le faire (tout de suite, du moins)...

Voila a+...
06 juin 2007 14:44:21 :
Modification des commentaires -_-'
12 juin 2007 13:49:24 :
Voila, j'ai mis a jour les quelques commentaires du script... Note: pour executer des programmes 'externes' à cmd.exe (genre console winrar , nmap, etc ...), il faut copier les fichiers *.exe dans c:\windows\system32\
14 juin 2007 10:08:59 :
SCREENSHOT
14 juin 2007 10:15:31 :
screen
  • signaler à un administrateur
    Commentaire de coucou747 le 10/06/2007 07:10:41

    mirc ne possede pas la commande /exec ?
    sous xchat, /exec -o commande pour renvoyer le resultat sur lechan, ou /exec commande pour l'afficher simplement

  • signaler à un administrateur
    Commentaire de monsieur_canard le 11/06/2007 10:32:55

    Sisi bien sûr, c'est pour cela qu'il y a des addon de ce genre qui sortent, car la commande existe!
    -_-'

    Y'a la commande /run qui permet de lancer des applis (comme ici, dos par exemple), ou pouvant très bien lancer IE ou firefox, ou autre ...

    La seule solution pour avoir DIRECTEMENT l'echo de cmd.exe dans mIRC est d'utiliser des com , ce que je ne connais pas, et qui limite les commandes pouvant etre executées... les différents addon que j'ai essayés ne pouvaient pas (et je ne sais pour quelle raison) exécuter toutes les commandes que j'avais besoin... Comme nmap et autre...

    Je ne sais pas si j'ai été clair, mais il fait brumeux dans ma tête... (tout enfumé) ...
    a+

  • signaler à un administrateur
    Commentaire de DragoonMaster le 11/06/2007 14:02:50

    ça alourdis les sources => un commentaire compilé ne prend pas de place, car supprimé, me semble t il ...

  • signaler à un administrateur
    Commentaire de wims le 12/06/2007 18:25:50

    Tu peux mettre un screenshot ? des exemples d'utilisation ?
    Donc déja, le code ne marche pas avec les repertoires a espace, même apres avoir modifier ton code pour les espaces, cela ne marchais tjs pas (ton timer s'execute bien 500 fois mais je devrais avoir une réponse)
    ton alias _r s'optimise en une ligne :
    alias -l _r { var %s = $1 | while (%s) var %r = $+(%r,$r(a,z)) ,%s   = %s - 1 }

    J'ai essayé avec ipconfig par exemple, ça n'a rien donné.

  • signaler à un administrateur
    Commentaire de monsieur_canard le 14/06/2007 10:13:31

    Ok, voila, je t'ai mis un petit screen shot où je te montre l'utilisation de netstat, ping et chkdsk ...
    Et sérieusement, si vous pourriez etre un peu moins 'froid' adns vos commentaires... vous n'êtes pas des Dieux à respecter hein ;-) Désolé de ne pas coder aussi bien que vous, chers maitres ...

    J'ai aussi fait une petite maj dans le code: la création du répertoire 'cmd' à la racine de mIRC ...
    Et oui, effectivement, mIRC doit être placé dans un répertoire sans espace ...

    Enfin voila, ma source fonctionne, mais si vous êtes trop boulets que pour l'utiliser, j'y peux rien...
    a toute...

  • signaler à un administrateur
    Commentaire de wims le 14/06/2007 21:12:55

    T'es en plein rêve, tu post ton code ici pour facilité la vie de l'user, donc c'est a toi de faire le boulot, le but c'est pas de prendre ton code, et se dire : "ah tient son code prend pas les espaces, ah tient il veux écrire dans le dossier cmd\, mais il ne le crée pas avant", c'est se dire : "ah oué putin il gère son code, il marche super bien"

    Donc non je suis désoler, ta source ne fonctionne pas avec les répertoire a espace, a ton avis, on va tous changer nos repertoire juste pour ton addon ?


  • signaler à un administrateur
    Commentaire de wims le 14/06/2007 22:16:11

    Donc apres avoir maté vite fait, j'ai modifié et otimisé ton code :

    on *:input:@cmd:{
      if (!$isdir(cmd)) mkdir cmd | elseif ($left($1,1) == /) return
      linesep -a | echo 9 -a $time 3*14 Traitement de la commande:15 $1-
      var %s = 10 ,%r | while (%s) var %r = $+($r(a,z),%r) ,%s = %s - 1
      var %output = $+(cmd\,%r) | write $+(%output,.bat) $1- > $+(%output,.txt)
      run -n $+(%output,.bat) | var %output %output $+ .txt
      .timer 1 5 loadbuf @cmd %output | .timer 1 6 linesep -a $(|) .remove %output $(|) .remove $replace(%output,txt,bat)
    }
    alias dos window -e @cmd

    le truc c'est que ya plein de caractere qui ne s'affiche pas, c'est assez embettant

  • signaler à un administrateur
    Commentaire de DragoonMaster le 14/06/2007 22:29:46

    12/06/2007 13:49:24 Voila, j'ai mis a jour les quelques commentaires du script... Note: pour executer des programmes 'externes' à cmd.exe (genre console winrar , nmap, etc ...), il faut copier les fichiers *.exe dans c:\windows\system32\

    C'est sans doute à revoir, pour les utilisateurs chez qui le dossier c:\windows n'existe pas !
    (winnt pour windows 2000)

  • signaler à un administrateur
    Commentaire de monsieur_canard le 15/06/2007 09:11:25

    DragoonMaster: Fais une recherche sur 'cmd.exe' (ou équivalent sous win2000), et copie alors les exe dans le même répertoire...

    Wims: Ok merci c'est cool ton optimisation.

  • signaler à un administrateur
    Commentaire de monsieur_canard le 15/06/2007 09:13:09

    Pour les caractères qui te dérangent, ça peut se résoudre avec un dialog... mais est-ce qu'un dialog est vraiment utile (je suis pas fan des dialogs... spa pratique)...

  • signaler à un administrateur
    Commentaire de wims le 15/06/2007 12:22:07

    Tu vas le résoudre comment avec un dialog ? Parce que si il n'y a que ça, tu crée un dialog caché, et tu récupère le texte après.

  • signaler à un administrateur
    Commentaire de monsieur_canard le 15/06/2007 16:24:00

    Sois moins agressif bordel ...

    A la place d'avoir une fenetre, tout se passera dans un dialog ... là il n'y aura plus de problèmes d'encodage de caractères...

    Comprends-tu?

  • signaler à un administrateur
    Commentaire de wims le 15/06/2007 17:54:48

    Je ne suis pas agressif, tu le prends mal c'est tout =/ , mais je doute quand au changement que va apporter le dialog sur le texte. C'est le .txt lui même qui contient les caractères mal encodé donc j'vois pas trop comment faire, mais si tu sais, dis le :)

  • signaler à un administrateur
    Commentaire de monsieur_canard le 18/06/2007 16:54:50

    Oui, tu as raison, je suis susceptible ... désolé c'est ma faute ...

    mmmh, je pense l'avoir déjà fait dans un dialog, et je CROIS (mais sans certitude absolue), que le problème est réglé ... sinon, il 'suffit' de retirer les caractères spéciaux...

    Bon, ce soir je testerai... et ajouterai un dialog si cela règle le problème... mais je ne suis pas fan des dialogs, c'est pour cela qu'il n'y en avait pas d'office ...

    @+

  • signaler à un administrateur
    Commentaire de Proutie66 le 14/08/2007 05:14:53

    Ton code est bien, pratique et surtout utile.
    Ne t'inquiète pas pour les boulets qui viennent ouain ouain, c'est le propre d'ircfr.com, il convient juste de s'y habituer

Ajouter un commentaire

Discussions en rapport avec ce code source

Pub



Appels d'offres

Snippets en rapport

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS