tudgur Posté(e) 22 avril 2020 Partager Posté(e) 22 avril 2020 Bonjour, Pour différentes raisons, je désire me passer de logiciels FTP pour envoyer mes fichiers sur différents serveurs. Mon site est hébergé chez Nuxit, mais, en cas de problème, je l'héberge aussi (gratuitement) chez Free. D'autre part, pour StatIC, j'envoie aussi un fichier chez Infoclimat. A ces fins, j'ai donc créé trois fichiers .bat que je lance avec un autre .bat dont voici le code : @echo off echo ######################################################################## echo # "ATTENTION envoi des fichiers NUXIT FREE et StatIC !!!" # echo ######################################################################## sleep 5 start /d"D:\SCRIPT" ENVOI_FTP_FICHIERS_JOUR.BAT" sleep 10 start /d"D:\SCRIPT" ENVOI_FTP_FICHIERS_JOUR_FREE.BAT sleep 10 start /d"D:\SCRIPT" ENVOI_STATIC.BAT exit Ce dernier est lancé automatiquement par WsWin après lecture et création des différents fichiers : données, graphiques.... Mon problème, c'est que les trois .bat s'ouvrent en même temps. Ils font le boulot sans problème mais j'aurais souhaité que le 2ième démarre quand le premier est fini et de même pour le troisième. D'autre part, la commande sleep semble ne pas fonctionner. J'aurais aimé un petit temps de latence (5 à 10 s) avant le lancement du premier afin d'empêcher ce lancement en cas de problème de mesures par exemple. Une idée ? Merci. Lien à poster Partager sur d’autres sites More sharing options...
jackT Posté(e) 22 avril 2020 Sciez Partager Posté(e) 22 avril 2020 Bonjour, Essaie plutôt d'utiliser "timeout" : @echo off echo ######################################################################## echo # "ATTENTION envoi des fichiers NUXIT FREE et StatIC !!!" # echo ######################################################################## timeout /T 5 /NOBREAK start /d"D:\SCRIPT" ENVOI_FTP_FICHIERS_JOUR.BAT" timeout /T 10 /NOBREAK start /d"D:\SCRIPT" ENVOI_FTP_FICHIERS_JOUR_FREE.BAT timeout /T 10 /NOBREAK start /d"D:\SCRIPT" ENVOI_STATIC.BAT exit Lien à poster Partager sur d’autres sites More sharing options...
Drealine Posté(e) 22 avril 2020 Jussy (02) Partager Posté(e) 22 avril 2020 (modifié) Il y a 1 heure, tudgur a dit : Bonjour, Pour différentes raisons, je désire me passer de logiciels FTP pour envoyer mes fichiers sur différents serveurs. Mon site est hébergé chez Nuxit, mais, en cas de problème, je l'héberge aussi (gratuitement) chez Free. D'autre part, pour StatIC, j'envoie aussi un fichier chez Infoclimat. A ces fins, j'ai donc créé trois fichiers .bat que je lance avec un autre .bat dont voici le code : @echo off echo ######################################################################## echo # "ATTENTION envoi des fichiers NUXIT FREE et StatIC !!!" # echo ######################################################################## sleep 5 start /d"D:\SCRIPT" ENVOI_FTP_FICHIERS_JOUR.BAT" sleep 10 start /d"D:\SCRIPT" ENVOI_FTP_FICHIERS_JOUR_FREE.BAT sleep 10 start /d"D:\SCRIPT" ENVOI_STATIC.BAT exit Ce dernier est lancé automatiquement par WsWin après lecture et création des différents fichiers : données, graphiques.... Mon problème, c'est que les trois .bat s'ouvrent en même temps. Ils font le boulot sans problème mais j'aurais souhaité que le 2ième démarre quand le premier est fini et de même pour le troisième. D'autre part, la commande sleep semble ne pas fonctionner. J'aurais aimé un petit temps de latence (5 à 10 s) avant le lancement du premier afin d'empêcher ce lancement en cas de problème de mesures par exemple. Une idée ? Merci. Voici un lien qui pourra t'aider avec les arguments : https://ss64.com/nt/start.html Si non en passant l’argument /wait, il va attendre que le proccess soit fini avant de continuer. START /wait /d"D:\SCRIPT" ENVOI_FTP_FICHIERS_JOUR.BAT" Modifié 22 avril 2020 par Drealine Lien à poster Partager sur d’autres sites More sharing options...
amateur Posté(e) 22 avril 2020 Isèrois, mais proche de Lyon (Sud) : Chuzelles - 260m Partager Posté(e) 22 avril 2020 et powershell, ça ne te tente pas ? A minima tu crées juste ton script de lancement en powershell et tu auras accès à une librairie bien plus vaste. Lien à poster Partager sur d’autres sites More sharing options...
fiflot Posté(e) 22 avril 2020 01 AMBERIEU-EN-BUGEY (259m) Partager Posté(e) 22 avril 2020 (modifié) avec VB6 tu pourrais le faire facilement avec 3 lignes de code avec la commande SHELLWAIT qui attends que ton bat lançé soit fini pour lancer le 2 eme et ainsi de suite Encore plus simple en VBScript ( ecrire ce code avec le notepad et enregistrer le fichier avec l'extension VBS et cliquer sur le fichier pour le lancer) Set wshell = CreateObject("WScript.Shell") WShell.Run WShell.ExpandEnvironmentStrings("%COMSPEC%") _ & " /c c:\1.bat" WScript.Sleep 5000 WShell.Run WShell.ExpandEnvironmentStrings("%COMSPEC%") _ & " /c c:\2.bat" WScript.Sleep 5000 WShell.Run WShell.ExpandEnvironmentStrings("%COMSPEC%") _ & " /c c:\3.bat" je n'ai pas essayé sans WScript.Sleep 5000 pour voir si le 2eme bat attends que le 1er bat soit fini Modifié 22 avril 2020 par fiflot Lien à poster Partager sur d’autres sites More sharing options...
tudgur Posté(e) 22 avril 2020 Auteur Partager Posté(e) 22 avril 2020 Merci beaucoup pour vos réponses. j'avais essayé avec le paramètre /wait mais ça ne marchait pas... Powershell et VBScript, je ne connais pas du tout. La méthode de jackT fonctionne parfaitement, c'est tout à fait ce que je cherchais. Petites questions cependant : - A quoi sert le paramètre /d avant le chemin ? - Pourquoi écrire "D:\SCRIPT" ENVOI_FTP_FICHIERS_JOUR.BAT et non pas D:\SCRIPT\ENVOI_FTP_FICHIERS_JOUR.BAT Lien à poster Partager sur d’autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant