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 :

commande DOS impossible à lancer via fichier BATCH


Sujet :

Scripts/Batch

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut commande DOS impossible à lancer via fichier BATCH
    Bonjour à tous,

    je suis entrain de créer un batch permettant d'extraire des events logs d'un OS Windows via l'outil DUMPEL.

    Jusqu'ici tous va bien à ceci près qu'à la fin de mon script je souhaite que que les fichiers générés s'affiche à l'écran.

    Pour information une fois généré, les fichiers contenant les dumps sont présents sous "c:\tempz" sans extension de fichier (car je n'arrive pas à la mettre lorsque ceci sont créés -_-) mais la n'est pas la question.

    Le problème que je rencontre est que quand j'ouvre un shell dos et que je tape manuellement la boucle suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /r c:\tempz %i in (*.*) do notepad %i
    cela fonctionne très bien (les fichiers créés s'affiche correctement à l'écran).

    Mais quand je créé un fichier d'extension cmd contenant la même commande, cela ne fonctionne plus et l'erreur suivante apparait:

    "i était inattendu"
    J'ai tenté de changer la variable de i par p, j'ai tenté de mettre deux % au lieu d'un, j'ai tenté de me mettre sur mon repertoire courant puis le repertoire système, j'ai meme tenté de me loguer sur une autre session mais rien n'y fait...

    Je ne suis pas un grand connaisseur des batch mais je m'y interesse vivement.

    L'un d'entre vous aurait une idée?

    Merci d'avance ,

    Siekken

  2. #2
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Points : 56
    Points
    56
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /r c:\tempz %%i in (*.*) do notepad %%i
    fonctionnerait-il ?

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Je ne sais pas si tu t'adresses à moi mais je vais faire comme ci.

    Si tu lances cette commande manuellement dans un shell dos préalablement ouvert, ca fonctionne sans problème.

    Par contre, si tu lances cette commande via un fichier .cmd (ce que je souhaite faire) cela ne fonctionne pas et génère une erreure : "i était inattendu"

    J'éspère avoir répondu à ta question.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    111
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 111
    Points : 56
    Points
    56
    Par défaut
    Hello,

    c'est bien à toi que ma réponse s'adresse : )

    En principe, il faut doubler le '%' devant le nom de la variable de boucle :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /r c:\tempz %i in (*.*) do notepad %i
    devient

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /r c:\tempz %%i in (*.*) do notepad %%i
    Cela marche-t-il ?

  5. #5
    Membre émérite Avatar de Drizzt [Drone38]
    Homme Profil pro
    Directeur de projet
    Inscrit en
    Mai 2004
    Messages
    1 001
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur de projet

    Informations forums :
    Inscription : Mai 2004
    Messages : 1 001
    Points : 2 453
    Points
    2 453
    Par défaut
    Bonjour,

    Il faut effectivement doubler les % et aussi faire un appel plus explicite à notepad avec un call ou un start.

    Bon courage.
    Je ne réponds pas aux questions techniques par MP, le forum est là pour cela.

    La crypto c'est comme les flambys, une fois que tu as trouvé la languette tu as juste à tirer pour tout faire tomber.

    (\ _ /)
    (='.'=)
    Voici Lapinou. Aidez le à conquérir le monde
    (")-(") en le reproduisant

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par brolon Voir le message
    Hello,

    c'est bien à toi que ma réponse s'adresse : )

    En principe, il faut doubler le '%' devant le nom de la variable de boucle :

    for /r c:\tempz %i in (*.*) do notepad %i

    devient

    for /r c:\tempz %%i in (*.*) do notepad %%i

    Cela marche-t-il ?

    Désolé, j'avais pas vu la différence que tu me proposais.
    Sinon oui oui j'ai déja testé comme tu proposes, je l'ai indiqué sur mon poste d'origine.

    Citation Envoyé par siekken Voir le message
    j'ai tenté de mettre deux % au lieu d'un
    Je viens quand même de retester et c'est toujours pas bon

    ceci dit il ne met plus le message d'erreur

    Et bien non, c'est moi qui te dis une grosse betise, puisque ca fonctionne comme ca avec les deux %.
    Je n'ai pas tous compris pour le coup puisque ce matin cela ne fonctionnait pas quand même.

    Merci beaucoup pour ton aide

  7. #7
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    J'aurai une autres question au sujet du même script.

    Quand je génère les dumps, je n'arrive pas à mettre une extension .log sur les fichiers.

    la commande est la suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FOR /f "tokens=1" %%h in (c:\tempz\mac.txt) do dumpel -s \\%%h -l %journal% -m %source% -e %ID% >> c:\tempz\%%h-%date%.log
    avec la variable date déclaré préalablement :

    je ne sais pour quelle raison mais le .log n'est pas prit en compte.
    Pourant, si j'enlève la variable date qui vient se gréffer au nom de fichier comme ci-dessous:

    cela fonctionne sans problème.

    L'un de vous aurait une idée?

    Merci par avance

  8. #8
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    je relance pour ma dernière question

  9. #9
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Points : 247
    Points
    247
    Par défaut
    Bonjour

    ---Non vérifié---
    FOR /f "tokens=1" %%h in (c:\tempz\mac.txt) do dumpel -s \\%%h -l %journal% -m %source% -e %ID% -f "c:\tempz\%%h-%date%.log"
    pour les eventlogs j'utilise psloglist

  10. #10
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    Bonjour Acris,

    La commande que tu m'a donné fonctionne super bien.
    Je te remercie pour ton aide .

    Sinon moi je suis bien content de l'outil Dumpel car il dump vraiment tout
    le contenu de l'event dont la description et dorénavent avec
    mon script, je vais pouvoir faire de l'extraction de masse automatiser.
    Très pratique pour les fermes Citrix.

    Je ne connais pas l'outils Psloglist, tu en est satisfait?

  11. #11
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    240
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2008
    Messages : 240
    Points : 247
    Points
    247
    Par défaut
    J'en suis satisfaite pour les informations que je souhaites recueillir.

    Avec psloglist je liste uniquement les errors et warnings
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    psloglist -f ew -d 1 System >> Rapport.txt
    ce qui donne ceci :

    System log on \\PC1:
    [94124] DCOM
    Type: ERROR
    Computer: PC1
    Time: 2009-03-10 13:18 ID: 10009
    User: PC1\USER
    DCOM n'a pas pu communiquer avec l'ordinateur M en utilisant les protocoles configurés.

    [94027] Tcpip
    Type: WARNING
    Computer: PC1
    Time: 2009-03-09 10:08 ID: 4226
    TCP/IP a atteint la limite de sécurité imposée sur le nombre de tentatives de connexion TCP simultanées.

  12. #12
    Candidat au Club
    Inscrit en
    Mars 2009
    Messages
    11
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 11
    Points : 4
    Points
    4
    Par défaut
    L'affichage est sympa avec PSloglist, avec Dumpel un event tient sur une ligne cest pratique pour les extraire dans Excel je trouve.

    Si tu n'as pas besoin d'automatiser, il y a le bon veil outil MS présent dans le Ressource Kit qui s'appel "eventcombmt.exe" c'est une interface graphique ou tu cliques, je le trouve également sympa.

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

Discussions similaires

  1. exécuter la commande dos cscript.exe via un javascript
    Par chichiboof dans le forum VBScript
    Réponses: 17
    Dernier message: 06/04/2011, 11h55
  2. commande au sein d'un fichier batch
    Par hel22 dans le forum Windows Serveur
    Réponses: 2
    Dernier message: 29/04/2007, 02h05
  3. Création d'un CD Rom ms-dos pour utiliser un fichier batch
    Par Lorponos dans le forum Périphériques
    Réponses: 36
    Dernier message: 25/04/2006, 14h32
  4. Réponses: 4
    Dernier message: 23/03/2006, 22h03
  5. Lancer des commandes dos à partir d'un fichier texte
    Par tpdm dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 09/08/2005, 16h56

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