IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Scripts/Batch Discussion :

Débutant désire apprendre ! [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 18
    Par défaut Débutant désire apprendre !
    Bonjour à tous.

    Je débute dans le Batch et je dois dire que cela m'intéresse ! Voilà mon projet, en résumé : créer un petit outil qui nommerait l'OS et le SP utilisé, qui listerait ensuite les processus en cours, puis qui détecterait et afficherait sur un rapport la liste des logiciels de sécurité présents sur le pc.

    Voici un tout début de commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    @color fc
    @echo off
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo SecurityScan V.1.0 by Pierre750
    echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    echo.
    @ver | find /i "xp" > nul
     @if %errorlevel%==0 echo Windows XP
    @ver | find /i "vista" > nul
     @if %errorlevel%==0 echo Windows Vista
    @ver | find /i "NT" > nul
     @if %errorlevel%==0 echo Windows NT
    @ver | find /i "2000" > nul
     @if %errorlevel%==0 echo Windows 2000
    @ver | find /i "ME" > nul
     @if %errorlevel%==0 echo Windows ME
    @ver | find /i "98" > nul
     @if %errorlevel%==0 echo Windows 98
    @ver | find /i "95" > nul
     @if %errorlevel%==0 echo Windows 95
    echo.
    @TASKLIST
    echo.
    echo Scan realise le :  %date% a : %time%
    echo.
    @pause
    Comme vous le voyez, j'ai ici l'OS, mais je ne trouve pas pour le SP. Les processus ne fonctionneront que sous XP via "Tasklist", ou je me trompe ?

    Il me manque à détecter un logiciel. Par exemple, j'ai Avira Antivir sur mon pc. J'aimerais qu'il le trouve et me note sur le rapport : AVIRA (par exemple)...et ainsi de suite.

    Puis j'aimerais, au départ, avoir le choix des langues.

    Il me manque aussi la commande pour afficher tout ceci dans un rapport txt.

    Et oui, ça fait beaucoup, j'ai lu beaucoup de tuto, mais retranscrit sur un .bat sur mon pc avec ce que je désire, cela ne fonctionne plus.

    Je vous remercie pour l'aide apportée et vous souhaite un très bon début de semaine.

    A bientôt.

  2. #2
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Service pack :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    systeminfo | find /i "Service Pack "
    Attention à l'espace après le "Pack" !
    Reste plus qu'à rediriger ça vers un fichier, un FOR avec tokens, etc. pour analyser le numéro comme tu désire le faire.

    Au passage, "systeminfo" est une mine d'or pour trouver plein d'informations en ligne de commande, son seul défaut étant que c'est une commande "lente" à exécuter... Mais bon, si tu dois taper 20 fois dedans, tu la rediriges vers un fichier temporaire, et tu travailles ensuite sur le fichier temporaire plutôt que de rappeler "systeminfo".
    Avec "net", "netsh" et "sc", ce sont des commandes permettant de savoir (presque) tout sur ton PC.


    Choix des langues : Ce sera via la commande "set /p" et un beau "if" derrière, je te laisse regarder les exemples.


    Diriger vers un fichier : Le secret est la commande "echo", les redirections (> et >>), voire la commande TYPE. Le sujet est relativement vaste, faudra attendre un peu que tu aie plus de matière dans ton batch pour commencer à voir les soucis.
    Sache que quoi qu'il arrive, si tu arrives à l'afficher à l'écran, tu pourras le mettre dans un fichier. Ne te préoccupe pas (encore) de la création du rapport, c'est un conseil.


    Filtrage des tâches : Cela revient à analyser une sortie via un FOR. Je t'encourage à aller voir l'aide de la commande FOR, et la FAQ Batch (commandes sur les fichiers). Dans cette FAQ, tu verras beaucoup d'exemples d'utilisation du FOR /F, qui est la clé d'à peu près tous les traitements complexes en Batch. Si tu le maîtrise, tu verras qu'il n'y aura pas beaucoup de "problèmes" qui te sembleront infaisables.
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  3. #3
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 18
    Par défaut
    Bonjour.

    Et d'abord merci pour cette belle réponse !

    Je vais plancher un peu plus sur les commandes. Sinon, j'ai déjà réussi à afficher les SP, merci !!

    Effectivement, si je vois les infos s'afficher, je pourrai certainement les mettre dans un fichier-texte ! Pour l'instant, je bloque toujours sur la détection d'un programme quelconque ! Et ce serait le plus important en sachant que lorsque je demande de lister le contenu du dossier Windows depuis "C:\Windows", pas de soucis, j'ai la liste de tous les fichiers présents ! Dès que je veux m'attaquer au dossier "Program Files", il me marque "Le fichier spécifié est introuvable" !

    M'en vais encore zyeuter les explications sur les commandes !

    A ++

  4. #4
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 51
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Par défaut
    Indice : les noms avec des espaces s'entourent de guillemets, en ligne de commande...
    Mac LAK.
    ___________________________________________________
    Ne prenez pas la vie trop au sérieux, de toutes façons, vous n'en sortirez pas vivant.

    Sources et composants Delphi sur mon site, L'antre du Lak.
    Pas de question technique par MP : posez-la dans un nouveau sujet, sur le forum adéquat.

    Rejoignez-nous sur : Serveur de fichiers [NAS] Le Tableau de bord projets Le groupe de travail ICMO

  5. #5
    Membre Expert
    Avatar de I'm_HERE
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 013
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 013
    Par défaut
    Salut,

    un complément de ce qui est dit:

    pour le service pack:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    wmic os get csdversion | more +1
    tu peux aussi extraire cette valeur en passant par la base de registre, sinon systeminfo c'est bien aussi mais ça implique un traitement avec un FOR /F

  6. #6
    Membre averti
    Inscrit en
    Juillet 2009
    Messages
    18
    Détails du profil
    Informations forums :
    Inscription : Juillet 2009
    Messages : 18
    Par défaut
    Très intéressant !

    J'ai trouvé comment repérer les programmes. Je n'ai pas encore exactement ce que je veux, mais j'y suis presque !

    Je suis sur la commande set /p pour le choix de la langue, par exemple. J'essaie d'ajouter des sauts avec GOTO, mais ça ne passe pas !

    Regardez ce que j'ai écrit :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    @color fc
    @echo off
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo SecurityScan V.1.0 by Pierre750
    echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    echo.
    set /p choice=Entrer votre langue : [F]ran‡ais ; [E]nglish :
    @if %choice%==F GOTO F
    echo.
    @ver | find /i "xp" > nul
     @if %errorlevel%==0 echo Windows XP
    @ver | find /i "vista" > nul
     @if %errorlevel%==0 echo Windows Vista
    @ver | find /i "NT" > nul
     @if %errorlevel%==0 echo Windows NT
    @ver | find /i "2000" > nul
     @if %errorlevel%==0 echo Windows 2000
    @ver | find /i "ME" > nul
     @if %errorlevel%==0 echo Windows ME
    @ver | find /i "98" > nul
     @if %errorlevel%==0 echo Windows 98
    @ver | find /i "95" > nul
     @if %errorlevel%==0 echo Windows 95
    echo.
    wmic os get csdversion | more +1
    echo.
    @TASKLIST
    echo.
    :F
    echo Scan realise le :  %date% a : %time%
    @pause
    Pour tester cette commande, donc, je voulais renvoyer à l'heure/date si on choisis le lettre f. Mais ça ne fonctionne pas. Déjà que l'on entre n'importe quelle lettre ou même chiffre, en appuyant entrée, le scan débute ! Et en appuyant f, cela ne fait rien. Je pense que c'est cette ligne qui bloque : @if %choice%==F GOTO F , non ?

    Merci.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Extjs 4.2.2 Débutant comment apprendre sans sauter les étapes
    Par geforce dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 20/02/2015, 07h21
  2. [Débutant] Langage fonctionnel à apprendre ?
    Par kromartien dans le forum Langages fonctionnels
    Réponses: 83
    Dernier message: 10/03/2010, 12h27
  3. Réponses: 29
    Dernier message: 12/07/2007, 11h55
  4. Réponses: 4
    Dernier message: 11/02/2007, 09h48
  5. [Débutant] Conseils pour apprendre Java
    Par emary dans le forum Langage
    Réponses: 2
    Dernier message: 11/06/2006, 23h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo