Batch Index du Forum
S’enregistrerRechercherFAQMembresGroupesConnexion
Répondre au sujet Page 1 sur 1
[BETA][C#][EXPERIMENTAL] GATE
Auteur Message
Répondre en citant
Message [BETA][C#][EXPERIMENTAL] GATE 
Salut à tous !


Je vous présente ma commande externe GATE successeur de external_command (get)


Une personne lambda a écrit:
C'est quoi ça encore ?

Comme son nom l'indique, elle permet de créer des portails d'un point A jusqu'à un point B Mr. Green

GATE est un portail entre votre PC et les commandes externes hébergées sur un serveur distant, avec une simple commande -> vous avez accès à une grande partie des commandes externes pour le batch Champion !
De plus, cette commande externe permet de créer des mini-portail par l’intermédiaire d'une connexion FTP entre un point A (Votre PC) et un point B (Un serveur distant) Mr. Green

C'est une version BETA et Expérimental, elle n'est pas totalement finalisée. Dans les prochaines versions à venir, elle aura bien + de fonctionnalités Okay


Une autre personne lambda a écrit:
Comment fait-on pour se procurer cette commande externe ??

Et bin en fait c'est très simple :

Lien de téléchargement (MEGA) : https://mega.nz/#!Io4yTSDL!NCO64JU_N9qfXLN7eU8J4pUuXUHGoCKU6tn9nGMUik8
Lien du code source : http://pastebin.com/BHwZ0vgw
Lien du code de génération : http://pastebin.com/Ri6xh9WA
Lien ULTIME : http://batch-external-controls.site88.net/list.php

Une personne lambda curieuse a écrit:
Comment fait-on pour l'utiliser ??



Tout d'abord, nous allons voir comment se procurer une autre commande externe avec GATE.

Il suffit tout bêtement de faire ça :
Code:
gate /get -[NAME_EXTERNAL_CONTROL]


::Exemple :
gate /get -socket_full



Ensuite, avec GATE, on peut récupérer la dernière version d'une commande externe en faisant ceci :
Code:
gate /get /version -[NAME_EXTERNAL_CONTROL]

::Exemple :
gate /get /version -socket_full



Cette petite ligne de commande permet de télécharger la commande externe si est seulement si la version actuelle est plus ancienne que la version sur le serveur :
Code:
set "version_[NAME_EXTERNAL_CONTROL]=[CURRENT_VERSION]"
gate /get /version -CurrentVersion:"%version_[NAME_EXTERNAL_CONTROL]%" -[NAME_EXTERNAL_CONTROL] /download:"%~nx0"

::Exemple :
set "version_socket_full=MAUVAISE VERSION"
gate /get /version -CurrentVersion:"%version_socket_full%" -socket_full /download:"%~nx0"


Monsieur X a écrit:
C'est inutile ! La version dans la variable ne changera pas et GATE téléchargera la commande externe même si elle a été mise à jour à l'instant !

Flammrock a écrit:
C'est une très bonne remarque !


GATE va en fait de lui-même changer la version dans la variable automatiquement après le download Mr. Green Okay
Il y a d'ailleurs une fonctionnalité un peu + complexe intégré à GATE Exclamation


Cette fonctionnalité est assez complexe mais assez stylé, donc pour l'utiliser il vous faut cette ligne de commande :
Code:
set "version_[NAME_EXTERNAL_CONTROL]=[CURRENT_VERSION]"
gate /get /version -CurrentVersion:"%version_[NAME_EXTERNAL_CONTROL]%" -[NAME_EXTERNAL_CONTROL] /install:"%~nx0"


::Exemple :
set "version_socket_full=MAUVAISE VERSION"
gate /get /version -CurrentVersion:"%version_socket_full%" -socket_full /install:"%~nx0"


Puis
, il faut mettre ces "balises" où vous voulez :
**** Remplacer bien [NAME_EXTERNAL_CONTROL] par le nom de votre commande externe !!
Code:
:GATE_install_[NAME_EXTERNAL_CONTROL]

:End_GATE_install_[NAME_EXTERNAL_CONTROL]


::Exemple :
:GATE_install_socket_full

:End_GATE_install_socket_full


Monsieur Jeu de mot a écrit:
What !
J'ai pas compris, c'est quoi le but en fait ????

Et bin ça va permettre de remplacer tous ce qui a entre ces 2 balises par le nouveau code de génération de la commande externe Mr. Green Okay Laughing Cool
N'est-ce pas géniale Mr. Green Razz

Bon c'est vrai qu'il faudra un peu d'entrainement pour comprendre vraiment l'utilité (ou pas Wink )


Maintenant, on va apprendre à ce servir de SEND
Elle est très très simple d'utilisation !
Il suffit de faire cela :
Code:
gate /send /upload


Cela va simplement ouvrir un petit formulaire et vous n'avez plus qu'à le remplir convenablement Mr. Green Champion !


Dans la prochaine version : il y aura une 2eme possibilité qui ce fera uniquement en ligne de commande Okay


On va apprendre comment ce servir de LIST !

Il suffit de faire ça pour obtenir la liste de toutes les commandes externes :
Code:
gate /list /all



Pour obtenir l'aide de GATE, faîte ceci :
Code:
gate /? /all


START permet d'exécuter des fichiers Mr. Green
Voici comment l'utiliser :
Code:
gate /start "[FILE]"

::Exemple :
gate /start "HELLO.exe"


HIDE permet de cacher l'output de GATE sur la console Mr. Green
Pour l'utiliser vous devez rajouter ceci :
Code:
/hide
A la fin de la ligne de commande Razz


Ceci va nous permettre de télécharger sur un serveur ftp Mr. Green

Donc voici la syntaxe :
Code:
gate /download [LINK_FTP_FILE] [LINK_FINAL_DESTINATION] [USERNAME] [PASSWORD]

::Exemple :
gate /download ftp://125.125.128/test.bat test.bat Flammrock CECI_EST_UN_MDP_COMPLEXE



Ceci va nous permettre de téléverser sur un serveur ftp Mr. Green

Donc voici la syntaxe :
Code:
gate /download  [LINK_LOCAL_FILE] [LINK_FTP_DESTINATION_FILE] [USERNAME] [PASSWORD]

::Exemple :
gate /upload test.bat ftp://125.125.128/test.bat Flammrock CECI_EST_UN_MDP_COMPLEXE





Merci de m'indiquer si vous avez des bugs, des problèmes avec ma commande externe GATE




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Message Publicité 
PublicitéSupprimer les publicités ?


Répondre en citant
Message [BETA][C#][EXPERIMENTAL] GATE 
Salut,

Merci du partage Okay

j'ai rapidemment regardé le code source et :

Code:
            string start_1_d = "Flammrock";
            string start_2_a = "Copyright (c) 2016 ";
            string start_2_b = "Flammrock";


Peux-tu m'expliquer pourquoi tu crée 2 fois le même string (start_1_d et start_2_b) ?

Ensuite ceçi est-il vraiment nécessaire (faire un ping depuis un bat depuis du C# pour installer) ? :

Code:
String lines = "@ping localhost -n 2 >nul \r\ndel \"gate.exe\"\r\nren \"gate_.exe\" \"gate.exe\"\r\ndel GATE_Install.bat";


Et encore une petite chose :

Code:
  if (last_version != "0.0.5")


Pour un système de MAJ fonctionnel la version ne doit pas être défini dans le code source.

Ensuite ça :


Code:
                  Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("------- Aide Commande externe 'GATE' -------\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /? : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Affiche l'aide et la liste des commandes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /list : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'afficher la liste des commandes externes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /start : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'exécuter des fichiers.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /get /? : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Affiche l'aide et la liste des commandes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /get <commande_externe> : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet de télécharger n'importe quel commande externe.\n");
                    Console.Write("   Exemple : get SockeT_full\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /get /list : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'afficher la liste des commandes externes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /send /? : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Affiche l'aide et la liste des commandes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /send <commande_externe> : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet de téléverser n'importe quel commande externe.\n");
                    Console.Write("   Exemple : send SockeT_full\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /send /list : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'afficher la liste des commandes externes.\n");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("------- 'GATE' a été créé par Flammrock -------\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("\n");


Fais 1 petites fonction write(color) pour éviter tous ce code inutil !

Voilà

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [BETA][C#][EXPERIMENTAL] GATE 
Ce serait possible d'avoir une version du code plus commentée pour mieux comprendre car c'est pas évident ?




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [BETA][C#][EXPERIMENTAL] GATE 
sachadee a écrit:
Salut,

Merci du partage Okay

j'ai rapidemment regardé le code source et :

Code:
            string start_1_d = "Flammrock";
            string start_2_a = "Copyright (c) 2016 ";
            string start_2_b = "Flammrock";


Peux-tu m'expliquer pourquoi tu crée 2 fois le même string (start_1_d et start_2_b) ?

Ensuite ceçi est-il vraiment nécessaire (faire un ping depuis un bat depuis du C# pour installer) ? :

Code:
String lines = "@ping localhost -n 2 >nul \r\ndel \"gate.exe\"\r\nren \"gate_.exe\" \"gate.exe\"\r\ndel GATE_Install.bat";


Et encore une petite chose :

Code:
  if (last_version != "0.0.5")


Pour un système de MAJ fonctionnel la version ne doit pas être défini dans le code source.

Ensuite ça :


Code:
                  Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("------- Aide Commande externe 'GATE' -------\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /? : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Affiche l'aide et la liste des commandes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /list : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'afficher la liste des commandes externes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /start : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'exécuter des fichiers.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /get /? : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Affiche l'aide et la liste des commandes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /get <commande_externe> : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet de télécharger n'importe quel commande externe.\n");
                    Console.Write("   Exemple : get SockeT_full\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /get /list : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'afficher la liste des commandes externes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /send /? : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Affiche l'aide et la liste des commandes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /send <commande_externe> : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet de téléverser n'importe quel commande externe.\n");
                    Console.Write("   Exemple : send SockeT_full\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /send /list : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'afficher la liste des commandes externes.\n");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("------- 'GATE' a été créé par Flammrock -------\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("\n");


Fais 1 petites fonction write(color) pour éviter tous ce code inutil !

Voilà

Okay



Merci c'est noté Mr. Green

TSnake41 a écrit:
Ce serait possible d'avoir une version du code plus commentée pour mieux comprendre car c'est pas évident ?


C'est un tout petit bout de script, il est simple à comprendre non ?
Tkt pas je rajouterai quelques régions et quelques commentaires et je vais optimiser quelques parties du script pour que ce soit plus claire Okay
Après je suis un gros débutant en C# et même en programmation en générale donc je suis tous vos merveilleux conseils Okay

Et je viens d'avoir une idée de génie hier Mr. Green
Je vous dirai ça un plus tard




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message [BETA][C#][EXPERIMENTAL] GATE 
sachadee a écrit:
Salut,

Merci du partage Okay

j'ai rapidemment regardé le code source et :

Code:
            string start_1_d = "Flammrock";
            string start_2_a = "Copyright (c) 2016 ";
            string start_2_b = "Flammrock";


Peux-tu m'expliquer pourquoi tu crée 2 fois le même string (start_1_d et start_2_b) ?

Ensuite ceçi est-il vraiment nécessaire (faire un ping depuis un bat depuis du C# pour installer) ? :

Code:
String lines = "@ping localhost -n 2 >nul \r\ndel \"gate.exe\"\r\nren \"gate_.exe\" \"gate.exe\"\r\ndel GATE_Install.bat";


Et encore une petite chose :

Code:
  if (last_version != "0.0.5")


Pour un système de MAJ fonctionnel la version ne doit pas être défini dans le code source.

Ensuite ça :


Code:
                  Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("------- Aide Commande externe 'GATE' -------\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /? : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Affiche l'aide et la liste des commandes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /list : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'afficher la liste des commandes externes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /start : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'exécuter des fichiers.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /get /? : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Affiche l'aide et la liste des commandes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /get <commande_externe> : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet de télécharger n'importe quel commande externe.\n");
                    Console.Write("   Exemple : get SockeT_full\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /get /list : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'afficher la liste des commandes externes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /send /? : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Affiche l'aide et la liste des commandes.\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /send <commande_externe> : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet de téléverser n'importe quel commande externe.\n");
                    Console.Write("   Exemple : send SockeT_full\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("gate /send /list : ");
                    Console.ForegroundColor = ConsoleColor.Blue;
                    Console.Write("Permet d'afficher la liste des commandes externes.\n");
                    Console.ForegroundColor = ConsoleColor.Red;
                    Console.Write("------- 'GATE' a été créé par Flammrock -------\n");
                    Console.ForegroundColor = oldFGcolor;
                    Console.Write("\n");


Fais 1 petites fonction write(color) pour éviter tous ce code inutil !

Voilà

Okay


Je vais juste répondre a tes questions dont j'ai oublié d'y répondre Laughing Razz

Alors on commence par celle-ci :
Citation:
Peux-tu m'expliquer pourquoi tu crée 2 fois le même string (start_1_d et start_2_b) ?

Et bien c'est une erreur d'inattention Mr. Green (Rien de grave je te rassure)

Ensuite :
Citation:
Ensuite ceçi est-il vraiment nécessaire (faire un ping depuis un bat depuis du C# pour installer) ? :

Enlève-le et constate le résultat : ça bug

Puis :
Citation:
Pour un système de MAJ fonctionnel la version ne doit pas être défini dans le code source.

Oui ce n'est pas une question mais je tenais à expliquer pk j'ai fais ça Mr. Green

Donc j'ai fait tous simplement parce que je trouve ça beaucoup + pratique, je m'explique :
je met la nouvelle version lorsque j'édite le script et je le save sur le serveur ftp et ça va permettre de faire une comparaison entre la version actuelle et la version sur le serveur tous simplement Okay Mr. Green
Et donc c'est un système de MAJ fonctionnel




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Répondre en citant
Message [BETA][C#][EXPERIMENTAL] GATE 
Citation:
Enlève-le et constate le résultat : ça bug


C'est pas ça que je voulais dire Mort de Rire

Je pense que t'as un moyen beaucoup plus optimiser de faire l'équivalent d'un ping (BAT) en C#

Okay




______________________________________________________
AffPng.exe , StringBetween.exe , Hex2Png.exe
Répondre en citant
Message [BETA][C#][EXPERIMENTAL] GATE 
Citation:
Code:
@ping localhost -n 2 >nul

Tu chercherais pas plutôt à faire ça : Thread.Sleep(ms) ?
(Thread est présent dans la namespace "System.Threading")




______________________________________________________
Partager permet le savoir. Le savoir permet de partager de nouveau savoirs.
Répondre en citant
Message [BETA][C#][EXPERIMENTAL] GATE 
TSnake41 a écrit:
Citation:
Code:
@ping localhost -n 2 >nul

Tu chercherais pas plutôt à faire ça : Thread.Sleep(ms) ?
(Thread est présent dans la namespace "System.Threading")


nan et d'ailleurs je l'aurai utilisé mais ici sa sert à rien puis ce qu'il se ferme, il fallait attendre après que le cmd se ferme ou je sais pu un truc dans le style




______________________________________________________
la vie est trop courte pour retirer le périphérique USB en toute sécurité...
Si la statue de la liberté lève le bras depuis 125 ans, c'est parce qu'elle cherche du réseau sur son Blackberry Torches...
Grâce à mon nouveau correcteur automatiste sur mon téléphage, je ne fais plus aucune faute d'orthodontie.
Quelqu'un a t il déjà demandé au drapeau japonais ce qu'il enregistre depuis tout ce temps ?
Visiter le site web du posteur
Message [BETA][C#][EXPERIMENTAL] GATE 


Montrer les messages depuis:
Répondre au sujet Page 1 sur 1
  



Index | créer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Copyright 2008 - 2016 // Batch