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 :

Demande d'aide sur le script batch


Sujet :

Scripts/Batch

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    Par défaut Demande d'aide sur le script batch
    Bonjour à la communauté,

    J'ai un souci de taille en Bash que je ne sais pas régler par moi même (malgré les multiples essais )


    @echo off
    cls
    if not exist C:\log\ (
    md D:\log\
    )
    @echo ------------------------------------------------Appel du batch------------------------------------------------ > D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. ***************************creation de l emplacement reseau*************************** >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    net use T: \\Nom ordi\scriptexecute MDP /user:utilisateur@domaine.extension
    @echo creation de l'emplacement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. ***************************appel du fichier test.bat*************************** >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    start T:\script.bat
    @echo appel du fichier test.bat prit en compte >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    timeout 40
    @echo. *******************************supression emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    net use * /delete /yes
    @echo supression emplacemement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. *******************************Supression des traces******************************* >> D:\log\appel.log
    rmdir C:\sources\ /s /q
    @echo suppression du dossier sourDe traite >> D:\log\appel.log
    Je suis au courant que certaines choses ne sont pas propre (comme le timer 40 s) mais je n'ai pas envie de me prendre la tête avec les processus.




    1ere question : Comment se fait t'il qu'il trouve forcement le dossier scriptexecute (placé sur le PC dans U: alors que D : est aussi partagé) sans qu'on est à lui dire (T: \\Nom ordi\U:\scriptexecute ) que le dossier se trouve dans le U: ?

    2éme question : Comment je peux améliorer le script pour que l'appel devienne dynamique (le script appel.bat est en dur dans le master WDS et donc non modifiable / peu maniable) et que si on rajoute un script?

    Je m'explique, si l'on souhaite changé le dossier de stockage des scripts sur le serveur WDS, alors que le script d'appel prenne en compte le nouveau dossier & que si on rajoute des scripts dans ce dossier alors que l'ensemble des scripts présent dans le dossier soit exécuté.


    j'ai essayé de lister avec dir les script *.bash du dossier scriptexecute puis de mettre le résultat dans des variables pour ensuite les utilisés pour lancer les scripts mais je n'y arrive pas ainsi.


    Actuellement je travail sur la forme
    for %%f in (T:\*.bat) do call :process %%f
    goto :eof
    :process
    SET fichier=%f%
    start %fichier%
    :eof


    Message à 17H13

    Voila ce que je fais en comme modification en ce moment même (le If & la double arrête le script => les logs le montre)



    @echo off
    cls
    if not exist C:\log\ (
    md D:\log\
    )

    @echo ------------------------------------------------Appel du batch------------------------------------------------ > D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************creation de l emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use T: \\nomordi\nomdossier mdp /user:user@domaine.extension
    @echo creation de l'emplacement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Mappage batch(s) dans l'emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @set /a nbFichiers=0
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: %nbfichiers% >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************appel du fichier test.bat******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    Set compteur=0
    :newtest
    if %compteur% LEQ %nbfichiers% do(
    for %%f in (T:\*.bat) do call :process %%f
    :process
    SET fichier=%1%
    echo %fichier% > C:\Users\Administrateur\desktop\rapport.txt
    goto newtest)
    @start T:\script.bat
    @echo appel du fichier test.bat prit en compte >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @timeout 40
    @echo *******************************supression emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use * /delete /yes
    @echo supression emplacemement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Suppression des traces******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @rmdir C:\sources\ /s /q
    @echo suppression du dossier source traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log


    Plus facile sous linux tout ça :=)

    Merci d'avance pour votre Aide

    Louispeperman

  2. #2
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Salut,

    c'est quoi on problème concrètement ? C'est pas trop clair.

    Amicalement
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    Par défaut
    Merci d'avoir prit le temps de me répondre tout d'abord

    et bien voici les souci :


    1) il dit que "do" n'est pas une commande interne " dans la syntaxe For alors que la plupart des trucks que j'ai pu voir , il l'utilise ainsi. Après il est possible que je fasse un erreur de syntaxe (on est jamais à l’abri)


    Ensuite, la boucle n'est jamais terminé (j'ai modifié la fin de la boucle en ajoutant une incrémentation ) => même résultat



    En gros ce que je souhaite faire c'est que le pc aille dans le lecteur que je monte via net use, repéré les fichiers .bat du lecteur puis les mets dans une variable pour pouvoir lancer l'ensemble des .bat du lecteur (sachant que je n'ai pas de sous dossier dans le lecteur monté).

    Ensuite je fais un start %variable% avec une boucle qui répété l'opération autant de fois qu'il y a de script (sachant que le nombre de script dans ce dossier est susceptible de varier)

  4. #4
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    La syntaxe de ta boucle FOR est correcte ton erreur du "DO" vient de
    la commande "IF" qui n'utilise pas de "DO".
    Et tu n'as pas besoin de faire ce IF.

    Voici ton code modifié.

    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
    :newtest
    
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
                                       call :process %%f)
    
    @echo appel du fichier test.bat prit en compte >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @timeout 40
    @echo *******************************supression emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use * /delete /yes
    @echo supression emplacemement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Suppression des traces******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @rmdir C:\sources\ /s /q
    @echo suppression du dossier source traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log 
    goto end
    
    :process
    echo %1 >> C:\Users\Administrateur\desktop\rapport.txt
    call T:\%1
    
    :end
    Dans :process on fait un call de %1 et non pas un start pour éviter d'ouvrir
    une fenêtre CMD à chaque nouveau script (à moins que cela ne soi nécessaire pour une impression ou autre. Dans ce cas met un "exit" après le start)

    Voilà essaye de remplacer ton code par celui-çi (à partir de :newtest) et retourne.

    Amicalement
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  5. #5
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    salut,

    Citation Envoyé par louispeperman Voir le message
    1ere question : Comment se fait t'il qu'il trouve forcement le dossier scriptexecute (placé sur le PC dans U: alors que D : est aussi partagé) sans qu'on est à lui dire (T: \\Nom ordi\U:\scriptexecute ) que le dossier se trouve dans le U: ?
    Probablement parce que le chemin est renseigné dans la variable d'environnement path.

  6. #6
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    Par défaut
    Merci beaucoup pour votre aide.


    je vais voir si cela fonctionne avec un call car je l'appel d'un serveur ce qui me pose parfois des soucis. La dernière fois le call fonctionnait pas mais le start oui (peut être une erreur de ma part ou alors quelque chose qui crée un comportement étonnant)


    Très bien ,je retiens qu'il n'y a pas de "Do" avec un IF (toujours bon à savoir ) et sinon, je vais voir si il fait ça boucle

    Par contre, pourquoi la rupture du montage réseau est dans la boucle? (net @net use * /delete /yes ) ? (j'essaye de comprendre)



    Pour le chemin, vu que le script est voué à être utilisé sur d'autres ordinateurs, ça marchera toujours ou existe t'il un moyen de renseigner le code pour qu'il trouve à tout les coups le bon dossier .



    Le mieux serait qu'il reconnaisse automatiquement le montage réseau (peut importe son nom) et qu'il aille chercher les scripts pour les exécuter mais bon, je continue la recherche de mon coté & la modification du script


    ça boucle bien comme souhaité, etc cependant, il ne trouve plus le chemin du montage (étonnant nan? )




    edit 10H20: ça fonctionne

    @echo off
    cls
    if not exist C:\log\ (
    md D:\log\
    )

    @echo ------------------------------------------------Appel du batch------------------------------------------------ > D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************creation de l emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use T: \\nomordi\nomdossier mdp /user:user@domaine.extension
    @echo creation de l'emplacement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Mappage batch(s) dans l'emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @set /a nbFichiers=0
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: %nbfichiers% >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************appel du fichier test.bat******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    :newtest
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
    call :process %%f)
    @echo appel du fichier test.bat prit en compte >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @timeout 40
    @echo *******************************supression emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use * /delete /yes
    @echo supression emplacemement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Suppression des traces******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @rmdir C:\sources\ /s /q
    @echo suppression du dossier source traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    goto end

    :process
    echo %1 >> C:\Users\Administrateur\desktop\rapport.txt
    call %1
    :end

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    Par défaut
    en faite mon if était censé permettre la fin de la boucle (une fois la variable %compteur% est plus grande que %nbfichiers% ainsi il s’exécute autant de fois que de nombre de batch).

    Le seul souci là que j'ai c'est qu'il boucle indéfiniment

  8. #8
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    Si ton script est dans le même de dossier que les autres, il va s'appeler lui même et donc boucler indéfiniment. Pour éviter cela, tu peux lui attribuer l'extension cmd. Il faudrait ajouter un goto :eof avant le :end même si ça semble superflu.

  9. #9
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    Par défaut
    en effet, ça pourrait en être la cause mais nan.


    Le souci de la modification que vous avez apporté, c'est qu'il lit qu'un script et puis s'arrête. Là je repart sur l'idée d'un if avec le nombre max d'élément calculé avant puis un compteur. sauf si vous arrivez à me faire un test (la récupération du nombre de .bat se fait déjà dans la variable %nbfichiers%) dans la boucle ou m'expliquer comment la boucle est au courant du nombre de fois qu'il doit s’exécuter pour lancer l'ensemble des scripts du dossier


    le code de dernière génération

    @echo off
    cls
    if not exist C:\log\ (
    md D:\log\
    )

    @echo ------------------------------------------------Appel du batch------------------------------------------------ > D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************creation de l emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use T: \\Nomordi\dossier mdp /user:user@domaine.extension
    @echo creation de l'emplacement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Mappage batch(s) dans l'emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @set /a nbFichiers=0
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: %nbfichiers% >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************appel du fichier test.bat******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    :newtest
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
    call :process %%f)
    @echo appel du fichier test.bat prit en compte >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @timeout 40
    @echo *******************************supression emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use * /delete /yes
    @echo supression emplacemement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Suppression des traces******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @rmdir C:\sources\ /s /q
    @echo suppression du dossier source traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    goto end

    :process
    echo %1 >> C:\Users\Administrateur\desktop\rapport.txt
    call %1
    :end

    je suis plus sur du :

    @echo off
    cls
    if not exist C:\log\ (
    md D:\log\
    )

    @echo ------------------------------------------------Appel du batch------------------------------------------------ > D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************creation de l emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use T: \\nomrodi\dossier mdp /user:user@domaine.extension
    @echo creation de l'emplacement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Mappage batch(s) dans l'emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @set /a nbFichiers=0
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: %nbfichiers% >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************appel du fichier test.bat******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    set /a compteur=0

    :newtest
    if (%compteur% LEQ %nbfichiers% (
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
    call :process %%f)
    ) else ( goto end)

    :process
    echo %1 >> C:\Users\Administrateur\desktop\rapport.txt
    call %1
    @echo appel du fichier %1.bat prit en compte >> D:\log\appel.log
    set /a compteur=compteur+=1
    goto newtest

    :end
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @timeout 40
    @echo *******************************supression emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use * /delete /yes
    @echo supression emplacemement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Suppression des traces******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @rmdir C:\sources\ /s /q
    @echo suppression du dossier source traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log

    la partie après :end doit s’exécuter qu'une fois.



    Ps: là je l'ai un peu fait avec ma manie du C et les fameuses { }

  10. #10
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    Par défaut
    le gros souci c'est que j'ai non seulement des problèmes de syntaxe, des problèmes de parenthèse mais cette ligne est lu 36 fois

    @echo appel du fichier %1.bat prit en compte >> D:\log\appel.log


    Voila ce que donne les logs:

    ------------------------------------------------Appel du batch------------------------------------------------



    *******************************creation de l emplacement reseau*******************************

    creation de l'emplacement reseau traite


    *******************************Mappage batch(s) dans l'emplacement reseau*******************************

    Calcule du nombre de fichier(s) Batch: 4


    *******************************appel du fichier test.bat*******************************

    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    T:\batch
    appel du fichier T:\batch.bat prit en compte
    Normalement je dois ne doit pas avoir " T:\batch" puis avoir "appel du fichier T:\batch.bat prit en compte" le nombre de fois qu'il y a de fichier batch dans le dossier (soit 3 avec comme nom "appel du fichier T:\nomdufichier.bat prit en compte" qui change en fonction du script exécuter)

  11. #11
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut


    Citation Envoyé par louispeperman Voir le message
    Le souci de la modification que vous avez apporté
    qui vous ?

    Si tu fais un simple for %a in (T:\*.bat) do echo %a sur ta ligne de commande est-ce que ça te donne le bon nombre de fichiers escomptés.

    et c'est quoi le nom de ton script du début ?

  12. #12
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    Par défaut
    je remplacerai le
    "quote /quote" par "code/code"
    pour les prochains postes.

    Il m’exécuter une seul fois un fichier .bat avec le 1er code modifié. Je vais réessayer avec la ligne que tu me donnes.

    Dans le dossier, j'ai le script appel.bat, script.bat et scriptappelpourent.bat (dans cette ordre).


    edit 15H58
    Il exécute uniquement le script.bat puis stop non seulement les log (appel.txt) mais aussi l’exécution du script appel.log


    Sinon le vous, c'est le forum même cela s'adresse en réalité plus à une personne (mais les autres m'aide sur d'autres choses)

  13. #13
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    T'es censé écrire cette ligne-là for %a in (T:\*.bat) do echo %a directement sur ta console. Et es-tu sûr que ta commande net use a abouti... Est-ce que tu n'as pas déjà un volume T:\ sur le PC.

  14. #14
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    Par défaut
    voila les deux logs après l’exécution de ce que tu m'as demandé

    appel.txt
    ------------------------------------------------Appel du batch------------------------------------------------



    *******************************creation de l emplacement reseau*******************************

    creation de l'emplacement reseau traite


    *******************************Mappage batch(s) dans l'emplacement reseau*******************************

    Calcule du nombre de fichier(s) Batch: 3


    *******************************appel du fichier test.bat*******************************

    T:\script.bat


    *******************************supression emplacement reseau*******************************

    supression emplacemement reseau traite


    *******************************Supression des traces*******************************
    suppression du dossier sourDe traite

    -------------------------------------------Fichier Log--------------------------------------------------



    *********activation windows*********


    IPK traite
    ato traite


    *********gestion utilisateur*********


    gestion Administrateur traitee
    gestion utilisateur traitee
    suppression dossier utilisateur traitee


    *********gestion de l'autologin*********


    cles registre AutoAdminLogon traitee
    cles registre DefaultDomainName traitee
    cles registre DefaultUserName traitee
    cles registre DefaultPassword traitee

  15. #15
    Membre émérite
    Inscrit en
    Avril 2010
    Messages
    1 495
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1 495
    Points : 2 274
    Points
    2 274
    Par défaut
    T'as pas compris, y'a aucun rapport avec les logs là. Le résultat s'affiche directement sur la console, du moins si tu as fait comme demandé précédemment.

  16. #16
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    Par défaut
    j'ai fais comme il m'a été demandé et non , il m’exécuter pas un seul script malgré la présence des trois dans le dossier (il les repére puisqu'il crée bien le fichier texte avec les trois noms de script) . Fait cela pour te dires, ce matin.

    Le rapport crée
    T:\script.bat
    T:\test1.bat
    T:\test2.bat

    Pour le cmd, il marque:
    fichier en traitement: T:\script.bat
    Le chemin d'accès spécifié est introuvable.
    fichier en traitement: T:\test1.bat
    Le chemin d'accès spécifié est introuvable.
    fichier en traitement: T:\test2.bat
    Le chemin d'accès spécifié est introuvable.
    Mais en réalité c'est le script qui ne le trouve pas (peut être le call)

    Après, la réponse n'est pas loin

  17. #17
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    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
    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
    47
    48
    49
    50
    51
    52
    53
    54
    @echo off
    cls
    if not exist C:\log\ (
    md D:\log\
    )
    
    @echo ------------------------------------------------Appel du batch------------------------------------------------ > D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************creation de l emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use T: \\P-INIWDS01\partage IniciO2012! /user:vdewulf@inicio.prod
    @echo creation de l'emplacement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Mappage batch(s) dans l'emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @set /a nbFichiers=0
    @for %%a in (T:\*.bat) do set /a nbfichiers+=1
    @echo Calcule du nombre de fichier(s) Batch: %nbfichiers% >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************appel du fichier test.bat******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    Set compteur=0
    :newtest
    
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
                                       call :process %%f)
    
    @echo appel du fichier test.bat prit en compte >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @timeout 40
    @echo *******************************supression emplacement reseau******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @net use * /delete /yes
    @echo supression emplacemement reseau traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo *******************************Suppression des traces******************************* >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @rmdir C:\sources\ /s /q
    @echo suppression du dossier source traite >> D:\log\appel.log
    @echo. >> D:\log\appel.log
    @echo. >> D:\log\appel.log 
    goto end
    
    :process
    echo %1 >> C:\Users\Administrateur\desktop\rapport.txt
    start %1
    
    :end

    Là il me lance les différents script comme il faut

  18. #18
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Salut,

    Si cela marche avec le "START" et pas avec le "CALL". C'est peut-être dû ä un "GOTO" qui tue la boucle "FOR" dans le premier script que tu appelles. Donc tu dois effectivement utiliser le "START".

    Le code est quand même plus propre de cette manière et sans "IF" superflue.

    Si on analyse le code que tu as voulue faire fonctionner, il est incohérent :

    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
    :newtest
    
    
    if (%compteur% LEQ %nbfichiers% (
    for %%f in (T:\*.bat) do (echo Fichier en traitement : %%f
    call :process %%f)
    ) else ( goto end)
    
    :process
    echo %1 >> C:\Users\Administrateur\desktop\rapport.txt
    call %1
    @echo appel du fichier %1.bat prit en compte >> D:\log\appel.log
    
    ::::ICI LA SYNTAXE CORRECTE POUR INCREMENTER UNE VARIABLE
    set /a compteur+=1
    
    ::::ICI TU RAPPELLES NEWTEST QUI VA RELANCER LE FOR DEPUIS LE DEBUT
    ::::DONC IL VA EXECUTER TES 3 BATS, INCREMENTER TON COMPTEUR ET RELANCER LA BOUCLE FOR ET EXECUTER TES 3 BATS DE NOUVEAU 
    ::::ET CELA LE NOMBRE DE FOIS 
    ::::QUE TU AS DE FICHIERS. DONC TU BOUCLE EN BOUCLE ET AVEC UN COMPTEUR QUI NE S'INCREMENTE PAS. ÇA PEUX DURER !!!
    
    goto newtest
    Comme je te l'ai dit ton code DOIT fonctionner sans "IF" le "FOR" par définition est suffisant.

    Mais si tu veux vraiment faire un "IF inutile". Inclue le DANS la boucle "FOR"


    Amicalement
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

  19. #19
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Janvier 2013
    Messages
    56
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Janvier 2013
    Messages : 56
    Points : 5
    Points
    5
    Par défaut
    Ok je prend note de tout les commentaires et je dois dire qu'en effet il est plus propre ainsi (sans if superflu) . Après le but des codes c'est de les optimisés et donc supprimé ce dont on a pas forcement besoin.

    C'est sympa que tu m'expliques la logique car ça permet de mieux comprendre mes erreurs en batch et donc d'avancer.

    par contre, j'ai pas du mettre de exit comme tu me l'avais dis , ce que je trouve étonnant.


    pour la boucle For, sinon y'a pas moyens de l'obliger à respecter la boucle?



    En faite j 'ai plus fais du script sur du Linux et bien souvent j'ai moins eu de souci de cet ordre.



    En faite j'ai mis qu'une partie des scripts que j'ai modifié (les modifications majeurs). Y'a un truk que je comprend pas, la boucle for se lance que si le If est valable nan? et vu l'incrémentation de la variable %compteur% c'est plus forcement valable un moment donné ( quand %compteur% est supérieur à %nbfichiers% donc c'est pas un boucle infini (sauf que j'avais une erreur dans l'incrémentation: je l'ai fais avec la syntaxe du C). Par contre là ou je suis d'accord avec toi c'est que la boucle for est lancé autant de fois qu'il y a de fichier .batch dans le dossier ce qui n'est pas le comportement souhaité.


    J'essaye juste de comprendre mes erreurs

  20. #20
    Membre expert
    Avatar de sachadee
    Homme Profil pro
    AMI DU BAT
    Inscrit en
    Janvier 2013
    Messages
    1 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Brésil

    Informations professionnelles :
    Activité : AMI DU BAT
    Secteur : Distribution

    Informations forums :
    Inscription : Janvier 2013
    Messages : 1 478
    Points : 3 768
    Points
    3 768
    Par défaut
    Salut,

    l' EXIT doit être en fin des scripts que tu lances.

    Pour ta boucle si tu veux faire un if met le dans ta boucle for

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for %%a in (T:\*.bat) do (if %compteur% LEQ %nbfichiers% (
                                                 echo Fichier en traitement : %%f
                                                 start :process %%
                                                 set /a compteur+=1))
    Amicalement
    ________________________________
    Un p'tit coup de pouce ça fait toujours plaisir, pensez-y !
    ________________________________

Discussions similaires

  1. [Batch] Aide sur un script batch
    Par VassR dans le forum Scripts/Batch
    Réponses: 0
    Dernier message: 26/08/2011, 11h04
  2. demande d'aide sur scripts
    Par threepwood dans le forum Linux
    Réponses: 5
    Dernier message: 06/08/2008, 13h34
  3. Demande d'aide sur un script de mise en forme..
    Par threepwood dans le forum Linux
    Réponses: 4
    Dernier message: 24/08/2007, 14h37
  4. demande d'aide sur un script
    Par threepwood dans le forum Applications et environnements graphiques
    Réponses: 4
    Dernier message: 24/05/2007, 11h45
  5. demande d'aide sur samba
    Par marcoss dans le forum Développement
    Réponses: 5
    Dernier message: 04/12/2003, 19h38

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