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 activée. [Batch]


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Par défaut Commande ECHO activée.
    Bonjour !

    Je suis nouveau sur ce forum et je ne sais pas si je suis bien au bon endroit mais déjà merci de m'avoir lu.

    Voila mon problème, j'essaye d'écrire la dernière ligne de mon fichier Resultat.txt dans le fichier ListeTypeFichier.txt et je me retrouve avec le message "Commande ECHO activée."

    Le contenu du fichier Resultat.txt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    2 01 Couverture
    L'HOMME NOMADE (01)
    HorsTexte;Intérieur
    Voici le code au complet :

    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
    pushd %~dp0
    SET JAVAHOME=C:\Program Files\Java\jre6\bin\java
    SET REPERTOIRE=C:\temp\Test\
    
    echo Traitement le %date% à %time%  >> logResultat.txt
    FOR /F "tokens=1-3 delims=|" %%a in (%~dp0\CreationDossier_LAN.ini) DO (
    	"%JAVAHOME%" -cp o4glrt.jar;. TestDPlan %%a %%b 1 >Resultat.txt 2>Erreur.txt
    	FOR /F "" %%f in (Erreur.txt) DO (
    			
    		IF %%f EQU 1 (
    			echo %%a / %%b Erreur Programme  >> logResultat.txt
    		)	
    		IF %%f EQU 0 if not "%c%" == "" (
    			FOR /L %%e in (1, 1, %%c) do (
    				mkdir %REPERTOIRE%%%a\%%a-N\AUDIO\MP3\CD0%%e
    			)
    			for /f "delims=" %%h in (%~dp0\Resultat.txt) do set "DernLign=%%h"
    			echo %DernLign%  > ListeTypeFichier.txt
    		)
    		IF %%f EQU 0 if "%c%" == "" (
    			mkdir %REPERTOIRE%%%a
    			echo %%b	0 > %REPERTOIRE%%%a\historic.txt
    			echo %%a / %%b	OK >> logResultat.txt
    			for /f "delims=" %%h in (%~dp0\Resultat.txt) do set "DernLign=%%h"
    			echo %DernLign%  > ListeTypeFichier.txt
    		)
    		
    	)	
    )
    pause

    Merci de votre aide

  2. #2
    Membre Expert
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Par défaut
    Salut,

    On ne le répétera jamais assez, quand on utilise des parenthèses il faut penser à systématiquement activer le "delayed expansion", et bien sûr utiliser la bonne syntaxe des variables qui convient à ce contexte...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Par défaut
    Merci pour cette piste !
    Mais j'ai le même message Commande ECHO activée.

    J'ai modifié mes codes en ajoutant
    setlocal enabledelayedexpansion devant ma boucle for
    et ça donne ça :

    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
    44
    45
    46
    pushd %~dp0
    ::Variables Globales
    SET JAVAHOME=C:\Program Files\Java\jre6\bin\java
    ::SET JAVAHOME=C:\Program Files\Java\jre1.6.0_03\bin\java
    SET REPERTOIRE=C:\temp\Test\
    
    echo Traitement le %date% à %time%  > logResultat.txt
    FOR /F "tokens=1-3 delims=|" %%a in (%~dp0\CreationDossier_LAN.ini) DO (
    	"%JAVAHOME%" -cp o4glrt.jar;. TestDPlan %%a %%b 1>>Resultat2.txt 2>Erreur.txt
    
    	FOR /F "" %%f in (Erreur.txt) DO (
    		IF %%f EQU 1 (
    			echo %%a / %%b Erreur Programme  >> logResultat.txt
    			goto suite
    		)	
    		IF %%f EQU 2 (
    			echo %%a / %%b Edition plus récente  >> logResultat.txt
    			goto suite
    		)			
    		IF %%f EQU 3 (
    			echo %%a / %%b EAN /Edition inexistant  >> logResultat.txt
    			goto suite
    		)		
    		IF %%f EQU 0 (
    		SET vide = ""
    			IF "%%c" == "" (
    	 			echo %%a / %%b	OK >> logResultat.txt	
    				mkdir %REPERTOIRE%%%a
    				echo %%b	0 > %REPERTOIRE%%%a\historic.txt
    				setlocal enabledelayedexpansion
    				for /f "delims=" %%h in (Resultat.txt) do (set "DernLign=%%h")
    				echo %DernLign%  >> ListeTypeFichier.txt
    			) ELSE (
    				FOR /L %%e in (1, 1, %%c) do (
    				mkdir %REPERTOIRE%%%a\%%a-N\AUDIO\MP3\CD0%%e
    				setlocal enabledelayedexpansion
    				for /f "delims=" %%h in (Resultat.txt) do set "DernLign=%%h"
    				echo %DernLign% >> ListeTypeFichier.txt
    				)
    			echo %%a / %%b	OK >> logResultat.txt
    			)			
    		)
    	)	
    )
    pause

  4. #4
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    Bon je ne comprends pas trop ton besoin (j'ai pas lu ton code)

    Voilà l'origine de ton fichier resultat.txt

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    2 01 Couverture
    L'HOMME NOMADE (01)
    HorsTexte;Intérieur
    Tu veux quoi dans ListeTypeFichier.txt, çà ?


    Alors :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    for /F %%i in (resultat.txt) do set dernier=%%i
    echo %dernier% > ListeTypeFichier.txt

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2012
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2012
    Messages : 3
    Par défaut
    Merci à vous pour vos aides !

    C'est bien ce qu'il me fallait, ça fonctionne maintenant.

    Bonne journée

  6. #6
    Membre averti
    Inscrit en
    Mars 2009
    Messages
    44
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 44
    Par défaut
    De rien

    Faudrait indiquer ce post comme [Résolu]

+ 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