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 :

erreur "3 était inattendu" .bat ?


Sujet :

Scripts/Batch

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 40
    Par défaut erreur "3 était inattendu" .bat ?
    Bonjour,

    J'ai réaliser un fichier bat qui permet de convertir des fichiers hexadecimal dans un format xml à l'aide d'un .exe.
    Le but du .bat est de convertir tous les fichiers (hexa) d'un répertoire en xml dans un autre répertoire, en utilisant un schema xml different suivant le type de fichier.
    Tous cela marche correctement, mais a chaque fois à la fin j'ai un message "3 était inattendu", bref j'ai un probleme mais je ne vois pas ou.
    Quelqu'un pourrait il m'aider ? merci par avance.

    PS: je suis pas tres doué en .bat, donc ce que j'ai fait est plus de la bidouille avec ce que j'ai trouvé sur le web (donc mon "code" n'est surement pas tres ordonné)

    Voici mon .bat:



    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
    @echo off
    
    echo Listage des noms de fichier dans resultat.txt
    dir /b .\hex\*.* > resultat.txt
    
    
    for /f "delims=" %%a in (resultat.txt) do call :generer %%a
    
    
    :generer
    rem affiche le nom et le type du fichier en cours
    set fichier=%1
    echo NOM DU FICHIER: %fichier%
    set type=%fichier:~5,3%
    echo FICHIER DE TYPE: %type%
    
    
    rem tri sur le type de fichier
    if %type% == 27F goto type27F
    if %type% == 21F goto type2xF
    if %type% == 22F goto type2xF
    if %type% == 23F goto type2xF
    if %type% == 24F goto type2xF
    if %type% == 25F goto type2xF
    if %type% == 26F goto type2xF
    goto end 
    
    
    rem conversion des fichiers de type 27F
    :type27F
    echo TYPE27F
    XdrConverter.exe -x xdrBaseTypeIFSV2_F1.xdr .\hex\%fichier% .\xml\%fichier%.xml
    goto end
    
    rem conversion des fichiers de type 2XF
    :type2xF
    echo TYPE2XF
    XdrConverter.exe -x xdrBaseTypeIFSV2_C.xdr .\hex\%fichier% .\xml\%fichier%.xml
    goto end
    
    
    :end
    echo FIN

  2. #2
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    ceci:
    c'est pour récupérer l'extension du fichier ?

    si oui c'est pas sur, si un nom de fichier fait plus de 4 caractére


    fait plutot avec une boucle for

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    for /f "delims=" %%a in (resultat.txt) do set fichier=%%a& set type=%%~xa& call :generer
    mais itégre le reste du script dans la boucle

  3. #3
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    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
    @echo off
    
    echo Listage des noms de fichier dans resultat.txt
    dir /b .\hex\*.* > resultat.txt
    
    
    for /f "delims=" %%a in (resultat.txt) do (
    
        if /i "%%~xa"=="27F" XdrConverter.exe -x xdrBaseTypeIFSV2_F1.xdr .\hex\%%a .\xml\%%~na.xml
        if /i "%%~xa"=="21F" XdrConverter.exe -x xdrBaseTypeIFSV2_C.xdr .\hex\%%a .\xml\%%~na.xml
        if /i "%%~xa"=="22F" XdrConverter.exe -x xdrBaseTypeIFSV2_C.xdr .\hex\%%a .\xml\%%~na.xml
        if /i "%%~xa"=="23F" XdrConverter.exe -x xdrBaseTypeIFSV2_C.xdr .\hex\%%a .\xml\%%~na.xml
        if /i "%%~xa"=="24F" XdrConverter.exe -x xdrBaseTypeIFSV2_C.xdr .\hex\%%a .\xml\%%~na.xml
        if /i "%%~xa"=="25F" XdrConverter.exe -x xdrBaseTypeIFSV2_C.xdr .\hex\%%a .\xml\%%~na.xml
        if /i "%%~xa"=="26F" XdrConverter.exe -x xdrBaseTypeIFSV2_C.xdr .\hex\%%a .\xml\%%~na.xml
    
    )

  4. #4
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 40
    Par défaut
    en fait mes noms de fichiers sont de la forme:

    0400026F.40B
    0400024F.40D
    0400025F.40D
    0400027F.40D

    Voilà en fait c'est pas l'extension du fichier qui m'interesse mais les caractères en bleu qui sont toujours situé à la même place dans le nom du fichier.
    Normalement le nb de caracteres du nom de fichier ne change jamais.

    Voila en fait ma moulinette fonctionne bien ,mais j'ai l'erreur a chaque fois à la fin du traitement du fichier "resultat.txt", comme si il repassait une derniere fois dans la boucle pour lire une ligne vide et generer l'erreur.

  5. #5
    Membre éprouvé
    Avatar de koKoTis
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 438
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 438
    Par défaut
    ah ok

  6. #6
    Membre averti
    Inscrit en
    Mars 2004
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 40
    Par défaut
    En effet a la fin de mon fichier resultat.txt, il y a un retour a la ligne, et je pense que c'est ca qui pose probleme, mais je ne vois pas comment le résoudre.

    une idée ?
    Merci

Discussions similaires

  1. Réponses: 2
    Dernier message: 29/04/2010, 15h33
  2. [MySQL] Supprimer les erreurs de syntaxe dues aux quotes
    Par gotenks dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/01/2006, 16h10

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