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

Windows Discussion :

Fichier bat pas exécuté avec les taches planifiées


Sujet :

Windows

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut Fichier bat pas exécuté avec les taches planifiées
    Bonjour à tous,
    J'ai un fichier .bat avce le script suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    copy C:\dump.txt F:\dump.txt > result.txt
    où F est la lettre (mappée) d'un lecteur réseau.
    Ce script fonctionne correctement si je double clique sur le fichier .bat ou si je le rentre directement dans une fenêtre de commande mais si j'essaie de le faire exécuter par les taches planifiées de Windows, le fichier n'est pas copié et le fichier result.txt indique :
    J'ai à peu près tout essayé : j'ai refait un net use, j'ai fait un dir F:\ pour m'assurer que le lecteur était bien reconnu, j'ai essayé avec l'adresse réseau du lecteur (\\mon_lecteur\), j'ai essayé la fonction copy avec les options /Y ou /V mais rien ne fonctionne (en tout cas pas avec les taches planifiées !!).
    Quelqu'un aurait-il une idée ?
    Merci par avance.

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    J'ai des taches planifiés qui apellent des fichiers .bat ... La seule difference avec toi est que mes scripts appellé par tache planifié ne font qu'appeler d'autres scripts qui eux executent des fonctions de copy et autres.
    En gros, ma tache planifie appelle un script constitue d'une successon de "call xxx.bat"
    Autre chose aussi .. j'utilise la fonction xcopy pour realiser mes copie de fichier... j'ai beaucoup moins de probleme qu'avec "copy".

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Merci pour ta réponse. Est-ce que tu fais aussi des copies sur un lecteur réseau ?
    J'ai également essayé xcopy mais sans succès.
    Je quand même vais essayer avec call xxx.bat mais je ne suis pas très optimiste.

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    Oui, il y a au moins un fichier que je recupère via le reseau...
    Pour ce faire, j'utilise xcopy avec les options: /E /R /Y dans un .bat appelé par un autre .bat qui est lui même appelé par la tache planifiée. (je suis bien clair la ???)
    Par contre j'utilise directement le chemin resaux et non un mappage sur un disque ... je sais pas dans quelle mesure cela peut jouer...
    Ca fait un petit moment que j'ai fait ca donc mes souvenirs ne sont plus tres frais mais je me souviens avoir eu des soucis en utilisant "copy" a la place de "xcopy".

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    jgfa9, est-ce que tu as essayé de voir si

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    copy C:\dump.txt C:\dumppourtester.txt > result.txt
    juste pour lever l'ambiguïté si le problème est lié au lecteur réseau ou pas.

    On pourra voir où continuer à chercher.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Merci pour vos réponses.
    Je teste et vous reviens avec les résultats.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Bon, en ce qui concerne la copie de C: dans C: via les taches planifiées, comme me suggérait karl3i de faire le test, ça marche ! Donc le problème semble bien être lié au lecteur réseau (mais qui, encore une fois, est bien reconnu lorsque j'exécute la commande "directement" soit dans une invit, soit en double cliquant sur le .bat).
    J'ai aussi essayé d'appeler mon .bat d'un autre .bat comme le suggérait L'apotre mais j'obtiens le même résultat :
    Alors, que faire maintenant ?
    Merci pour votre aide.

  8. #8
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    As tu essaye avec l'option /Y pour la commande xcopy?
    Je veisn de regarder dans mes script et toute mes copies sont de la forme :
    xcopy /Y "Path_rezo_vers_fichier\fichier.txt" "Path_rezo_destination\fichier.txt"

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Non, ça ne fonctionne pas, même avec xcopy
    J'ai même essayé de rajouter des guillemets, puisque je vois que L'apotre en utilise et que moi je n'en mettais pas, mais sans succès.
    Je ne sais plus quoi faire...

  10. #10
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    et pour acceder a ton fichier, tu utilise le chemin complet sur le rezo ou un lecteur mappé sur le repertoire?

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    Salut,

    j'ai fait le test chez moi (avec copy), à la fois avec la lettre du lecteur monté et à la fois avec le chemin absolu du lecteur réseau.

    Dans les deux cas, ça marche.

    Que donne chez toi le test suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dir Z: > dir_lettre.txt
    dir //serveur/chemin/reso > dir_chemin.txt
    dir > quelrepertoirepardefautplanificateur.txt
    Karl

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 369
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 369
    Points : 41 518
    Points
    41 518
    Par défaut
    Tiens, et j'ajoute:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    set > environnement.txt
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  13. #13
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Comme je m'y attendais, j'ai des résultats différents selon si je passe ou non par les tâches planifiées de Windows. Donc :
    1. en direct
      • dir_lettre.txt :
        Code : Sélectionner tout - Visualiser dans une fenêtre à part
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
         Volume in drive F is Data
         Volume Serial Number is C025-F975
        
         Directory of F:\
        
        14/09/06  11:39         <DIR>          .
        14/09/06  11:39         <DIR>          ..
        14/09/06  11:51         <DIR>          MISTRALBD.BAK
                       0 File(s)              0 bytes
                       3 Dir(s)  26ÿ063ÿ089ÿ664 bytes free
      • dir_chemin.txt : vide
      • quelrepertoirepardefautplanificateur.txt
        Code : Sélectionner tout - Visualiser dans une fenêtre à part
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        Volume in drive C has no label.
         Volume Serial Number is 0C83-5571
        
         Directory of C:\Documents and Settings\Administrator\Desktop\test_bat
        
        14/09/06  15:32         <DIR>          .
        14/09/06  15:32         <DIR>          ..
        14/09/06  15:32                      0 dir_chemin.txt
        14/09/06  15:32                    325 dir_lettre.txt
        14/09/06  15:32                      0 quelrepertoirepardefautplanificateur.txt
        14/09/06  15:32                    149 test.bat
                       4 File(s)            474 bytes
                       2 Dir(s)  10ÿ392ÿ707ÿ072 bytes free
      • environnement.txt
        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
        ALLUSERSPROFILE=C:\Documents and Settings\All Users
        APPDATA=C:\Documents and Settings\Administrator\Application Data
        CommonProgramFiles=C:\Program Files\Common Files
        COMPUTERNAME=INTRANET
        ComSpec=C:\WINNT\system32\cmd.exe
        HOMEDRIVE=C:
        HOMEPATH=\Documents and Settings\Administrator
        LOGONSERVER=\\INTRANET
        NUMBER_OF_PROCESSORS=2
        OS=Windows_NT
        Os2LibPath=C:\WINNT\system32\os2\dll;
        Path=C:\SFU\common\;C:\SFU\Perl\bin\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Dell\OpenManage\OMSA\bin;C:\Program Files\Dell\OpenManage\OMSA\;C:\Program Files\Dell\OpenManage\OMSA\help;C:\WINNT\System32\ServerAppliance\Scripts\Control\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Symantec\pcAnywhere\
        PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
        PROCESSOR_ARCHITECTURE=x86
        PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 7, GenuineIntel
        PROCESSOR_LEVEL=15
        PROCESSOR_REVISION=0207
        ProgramFiles=C:\Program Files
        PROMPT=$P$G
        SESSIONNAME=Console
        SFUDIR=C:\SFU\
        SystemDrive=C:
        SystemRoot=C:\WINNT
        TEMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
        TMP=C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp
        USERDOMAIN=INTRANET
        USERNAME=Administrator
        USERPROFILE=C:\Documents and Settings\Administrator
        windir=C:\WINNT
    2. via les taches planifiées
      • dir_lettre.txt : vide
      • dir_chemin.txt : vide
      • quelrepertoirepardefautplanificateur.txt
        Code : Sélectionner tout - Visualiser dans une fenêtre à part
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        13
        14
         Volume in drive C has no label.
         Volume Serial Number is 0C83-5571
        
         Directory of C:\Documents and Settings\Administrator\Desktop\test_bat
        
        09/14/2006  03:33p      <DIR>          .
        09/14/2006  03:33p      <DIR>          ..
        09/14/2006  03:33p      <DIR>          direct
        09/14/2006  03:33p                   0 dir_chemin.txt
        09/14/2006  03:33p                   0 dir_lettre.txt
        09/14/2006  03:33p                   0 quelrepertoirepardefautplanificateur.txt
        09/14/2006  03:32p                 149 test.bat
                       4 File(s)            149 bytes
                       3 Dir(s)  10,391,633,920 bytes free
      • environnement.txt
        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
        ALLUSERSPROFILE=C:\Documents and Settings\All Users
        CommonProgramFiles=C:\Program Files\Common Files
        COMPUTERNAME=INTRANET
        ComSpec=C:\WINNT\system32\cmd.exe
        NUMBER_OF_PROCESSORS=2
        OS=Windows_NT
        Os2LibPath=C:\WINNT\system32\os2\dll;
        Path=C:\SFU\common\;C:\SFU\Perl\bin\;C:\WINNT\system32;C:\WINNT;C:\WINNT\System32\Wbem;C:\Program Files\Dell\OpenManage\OMSA\bin;C:\Program Files\Dell\OpenManage\OMSA\;C:\Program Files\Dell\OpenManage\OMSA\help;C:\WINNT\System32\ServerAppliance\Scripts\Control\;C:\Program Files\Microsoft SQL Server\80\Tools\Binn\;C:\Program Files\Symantec\pcAnywhere\
        PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
        PROCESSOR_ARCHITECTURE=x86
        PROCESSOR_IDENTIFIER=x86 Family 15 Model 2 Stepping 7, GenuineIntel
        PROCESSOR_LEVEL=15
        PROCESSOR_REVISION=0207
        ProgramFiles=C:\Program Files
        PROMPT=$P$G
        SFUDIR=C:\SFU\
        SystemDrive=C:
        SystemRoot=C:\WINNT
        TEMP=C:\WINNT\TEMP
        TMP=C:\WINNT\TEMP
        USERPROFILE=C:\Documents and Settings\Default User
        windir=C:\WINNT


    Merci pour votre aide !

  14. #14
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 12
    Points : 14
    Points
    14
    Par défaut
    Dans les options des taches planifiés, tu a une ligne pour dire a parrtir d'ou ton process doit etre execute... verifie si c le bon repertoire...
    J'ai aussi eu des difficulte similaire, c'est pourquoi , avant chaque commande , je fais un : cd c:\monrep pour etre sur d'etre au bon endrois

  15. #15
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Bon, voici mon backup.bat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    cd C:\mysql\bin
    xcopy /Y /S C:\mysql\bin\dump.txt "\\serveur\mes archives\dump.txt"
    et dans les tâches planifiées, le champ "Start in:" contient bien "C:\mysql\bin".

    Et voici le contenu du log des tâches planifiées :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    "backup.job" (backup.bat)
    Finished ...
    Result: The task completed with an exit code of (4).
    J'ai trouvé quelqu'un qui semble avoir le même problème que moi mais c'est sur le site (payant !) Experts-Exchange. Qu'en pensez-vous ? Il est bien (efficace) ce site ?
    Merci !

  16. #16
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    Salut,

    comme je ne vois pas de solution directe, je peux te proposer des alternatives :

    • Si tu fais (même un tout petit peu) de programmation, tu peux très facilement réaliser un .exe (en C++ ou en C# par exemple) avec CopyFile (voir la MSDN). La programmation tiendra en une ligne, et en deux si tu regardes le booléen renvoyé par CopyFile pour savoir si la copie s'est bien passée. Ensuite il te restera à définir ta tâche planifiée en pointant sur cet EXE.
    • Essaie de te renseigner sur le gestionnaire de tâche et en particulier la gestion des disques montés. Il existe peut-être des sites spécialisés détaillant comment cela marche.
    • Experts-Exchange, j'ai jamais essayé... je préfère éviter les sites payants pour sauvegarder mon porte-monnaie mais aussi pour éviter que les sites gratuits ne disparaissent ! Tu vas payer, mais es-tu sûr d'avoir la réponse après ? Enfin, si jamais tu le testes, dis-nous ce que tu en penses.


    @+
    Karl

  17. #17
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Merci encore pour ces réponses.
    Malheureusement, les résultats ne sont pas bons : comme me l'a suggéré karl3i, j'ai écrit une ligne de code en C++ en utilisant la fonction CopyFile. L'exe fonctionne très bien en direct (en double cliquant dessus) mais si je l'intègre aux taches planifiées et même si je n'ai aucun message d'erreur (c'est comme si ça avait marché), le fichier n'est pas copié !
    D'autres idées ?

  18. #18
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    Réellement, CopyFile ne te renvoie pas d'erreur ?

    Peux-tu vérifier que tu ne t'es pas trompé en analysant le code de retour :

    Return Values
    If the function succeeds, the return value is nonzero.

    If the function fails, the return value is zero. To get extended error information, call GetLastError
    et le cas échéant afficher l'erreur de GetLastError.

  19. #19
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2005
    Messages
    199
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 199
    Points : 66
    Points
    66
    Par défaut
    Bon je crois que je vais laisser tomber !!
    Quand je roule l'exe en ligne de commande : j'ai effectivement les erreurs suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    6 [main] backup 1040 _cygtls::handle_exceptions: Exception: STATUS_ACCESS_
    VIOLATION
       2058 [main] backup 1040 open_stackdumpfile: Dumping stack trace to backup.exe
    .stackdump
     407393 [main] backup 1040 _cygtls::handle_exceptions: Exception: STATUS_ACCESS_
    VIOLATION
     416527 [main] backup 1040 _cygtls::handle_exceptions: Error while dumping state (probably corrupted stack)
    Mais le fichier est bien copié !!

    Quand j'utilise les tâches planifiées, je n'ai aucun message d'erreur (code de retour 0x0) mais le fichier n'est pas copié.

    Je ne sais plus quoi essayer...

  20. #20
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2003
    Messages
    336
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2003
    Messages : 336
    Points : 341
    Points
    341
    Par défaut
    C'est comme si le planificateur de tâches possédait moins de droit que toi... ou voyait moins de lecteurs. Il est confronté en effet à un STATUS_ACCESS_VIOLATION. Ensuite ton programme essaie d'écrire un dump du problème dans le répertoire, mais échoue (Error while dumping state) car il se retrouve vraisemblablement de nouveau confronté à un problème de droit d'écriture sinon d'accès...

    Est-ce que tu peux nous dire ce que te renvoie GetLastError après le CopyFile ? Je veux dire, la chaîne de caractères qui décrit l'erreur rencontrée quand tu le lances par le planificateur de tâches.

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 2 12 DernièreDernière

Discussions similaires

  1. Erreur d'exécution avec les Runtime
    Par denils dans le forum Runtime
    Réponses: 30
    Dernier message: 22/01/2015, 16h21
  2. Exécuter avec les droits administrateur
    Par Pandala dans le forum VBScript
    Réponses: 6
    Dernier message: 23/05/2007, 14h58
  3. [AJAX] Javascript n'est pas exécuté avec ajax.
    Par John6281 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 27/02/2007, 15h35
  4. ça ne marche tjrs pas messieurs , avec les dates
    Par tobisko dans le forum Access
    Réponses: 1
    Dernier message: 29/12/2006, 12h55
  5. Lister les taches planifiées
    Par richton95 dans le forum VBScript
    Réponses: 4
    Dernier message: 05/10/2006, 17h50

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