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 echo desactivée [Batch]


Sujet :

Scripts/Batch

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 81
    Par défaut commande echo desactivée
    bonsoir,

    J'ai un drole de comportement d'un fichier bat

    Après de multiples affectations de variables et d'affichage (tout se passe bien),
    j'affecte encore des variables avec SET
    et j'essaye de les afficher avec une commande ECHO ou de les rediriger vers un fichier de log ECHO ... >> monfichier.log

    Et j'ai droit à un
    "
    Commande ECHO désactivée
    "
    comme si les variables n'éxistaient pas et mon programme est dérouté au controle des variables

    Lorsque j'essaye de debugger en mettant en remarque REM les lignes de commandes SET puis en otant les remarques les unes après les autres, les commandes ECHO se remettent à fonctionner et je peux controler le contenu des variables ...

    je suis donc incapable de comprendre pourquoi mon bat n'a pas fonctionné et pourquoi, à l'identique, il refonctionne

    Auriez vous une idée ?
    J'imagine une meconnaissance classique du débutant ...

    Merci d'avance et d'avance bonnes fêtes
    J

  2. #2
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Par défaut
    salut,

    tu peux mettre en ligne ton script?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 81
    Par défaut le script et la log
    bonjour,

    voici la partie du script incriminée

    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    ...
    if not exist "webdav" mkdir "webdav"
    set batdirnam=%dirnam%\webdav\
    set batfilnam=%dirnam%\webdav\g2_emc_webdav.bat
    set wdvdirnam=%dirnam%\webdav\G2_vers_EMC_WebDAV_0.2\G2_vers_EMC_WebDAV\furpac_v2\g2_vers_emc_webdav_0_2\contexts
    set wdvfilnam=%dirnam%\webdav\G2_vers_EMC_WebDAV_0.2\G2_vers_EMC_WebDAV\furpac_v2\g2_vers_emc_webdav_0_2\contexts\Default.properties
    echo %batdirnam%
    echo %batdirnam% >> %logfilnam%
    echo %batfilnam%
    echo %batfilnam% >> %logfilnam%
    echo %wdvdirnam%
    echo %wdvdirnam% >> %logfilnam%
    echo %wdvfilnam%
    echo %wdvfilnam% >> %logfilnam%
    if not exist "%wdvfilnam%" goto PasWdv
    type %wdvfilnam%
    echo .
    
    call %batfilnam% %rstdirnam% %wdvdirnam% %logdirnam%
    echo %dirnam%\webdav\Logs\*.err >> %logfilnam%
    type %dirnam%\webdav\Logs\*.err >> %logfilnam%
    echo %dirnam%\webdav\Logs\*.log >> %logfilnam%
    type %dirnam%\webdav\Logs\*.log >> %logfilnam%
    
    ) else (
    
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo º Pas d envoi par webdav de fichier rslt º
    echo Pas d envoi par webdav de fichier rslt >> %logfilnam%
    echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    
    )
    ...
    :PasWdv
    echo pas d envoi par webdav de fichier rslt
    echo pas d envoi par webdav de fichier rslt >> %logfilnam%
    goto FinRenommer
    :FinRenommer
    echo ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
    echo º Fin de traitement º
    echo Fin de traitement >> %logfilnam%
    echo ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
    ...
    et la log

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ...
    Affichage et appel du batch pour envoi webdav 
    Commande ECHO d‚sactiv‚e.
    Commande ECHO d‚sactiv‚e.
    Commande ECHO d‚sactiv‚e.
    Commande ECHO d‚sactiv‚e.
    pas de fichier batch d envoi par webdav 
    Fin de traitement 
    ...
    le script complet est en piece jointe
    Fichiers attachés Fichiers attachés

  4. #4
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Par défaut
    bonjour,

    la comme ça je vois pas, pour moi ça parait bon.

    Ce que tu peux faire, c'est enlever au début le "@echo off" tu auras plus d'infos sur chaque commande passée...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 81
    Par défaut
    Si mon script affiche
    Commande ECHO désactivée
    mon problème est bien que mes variables sont vides lorsque j'appele la commande ECHO
    Une petite analyse montre que le code qui me pose problème se trouve dans une zone de parenthèses
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @echo off
    set dirnam=%CD%
    if %wdv% EQU GOWDV (
    set batdirnam=%dirnam%\webdav\
    echo %batdirnam%
    ) else (
    )
    et que dans cette zone, je déclare et initialise des variables qui ne sont pas appelées ailleurs
    J'en déduis donc qu'il pourrait s'agir d'un problème de variable locale et qu'il faudrait jouer avec du
    setlocal
    endlocal
    et du
    EnableDelayedExpansion
    sans que je comprenne encore comment cela fonctionne en détail

    Merci pour vos lectures

  6. #6
    Membre expérimenté
    Homme Profil pro
    Administrateur systèmes et réseaux
    Inscrit en
    Juin 2011
    Messages
    223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Administrateur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juin 2011
    Messages : 223
    Par défaut
    pour pouvoir afficher dans ce cas la variable "batdirnam", tu fais ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    @echo off
    set dirnam=%CD%
    setlocal enabledelayedexpansion
    if %wdv% EQU GOWDV (
    set batdirnam=%dirnam%\webdav\
    echo !batdirnam!
    )
    ATTENTION:pour afficher la variable, la mettre entre les signes "!" et non "%"
    Et la c'est ok...
    Il y a plein de docs sur le net sur l'expansion retardée de variable...

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 81
    Par défaut pb résolu
    merci Ludo !
    et surtout bonnes fêtes de fin d'année

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

Discussions similaires

  1. faire la commande echo en C
    Par jonbienvenue dans le forum C
    Réponses: 3
    Dernier message: 12/04/2007, 21h42
  2. Réponses: 3
    Dernier message: 07/04/2007, 14h35
  3. Aide avec commande ECHO
    Par lafmart dans le forum Langage
    Réponses: 1
    Dernier message: 04/02/2007, 06h06
  4. [Débutant] Implémentation commande echo
    Par Tuxico dans le forum C
    Réponses: 14
    Dernier message: 10/10/2006, 14h49
  5. Comment aller a la ligne avec la commande ECHO
    Par juflata dans le forum Windows
    Réponses: 3
    Dernier message: 23/06/2004, 17h11

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