AutoIt Français

Nouveau forum : http://www.autoitscript.fr/
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexionhttp://www.autoitscript.fr

Partagez | 
 

 [Résolu]Attendre l'existence d'un fichier et le lancer

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
eln
Débutant
Débutant


Nombre de messages : 5
Date d'inscription : 22/07/2007

MessageSujet: [Résolu]Attendre l'existence d'un fichier et le lancer   2007-07-22, 12:16

Bonjour

Suite à une installation silencieuse je souhaiterai exécuter un fichier, mais celui-ci n'est pas créer tout de suite.

Peut-on "sonder" son existence et une fois créer, le lancer ?

Merci


Dernière édition par le 2007-07-22, 18:03, édité 1 fois
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: [Résolu]Attendre l'existence d'un fichier et le lancer   2007-07-22, 13:04

oui, il faut créer une boucle while basée sur fileexiste :

[code]
while FileExists("toto.txt")=0
Sleep(1000) ; on fait une pause d'1 sec, c'est pas la peine de faire mouliner le cpu à donf
WEnd

MsgBox(0,"Fichier présent","toto.txt est créé")
[/code]

Dans cet exple, le script reste dans le while tant que toto.txt n'esxiste pas dans le répertoire où se déroule le script en question.
Si tu créés toto.txt pandant que ce script tourne, le msgbox de fin apparaîtra dès que tu aura enregistré ton fichier toto.txt
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
eln
Débutant
Débutant


Nombre de messages : 5
Date d'inscription : 22/07/2007

MessageSujet: Re: [Résolu]Attendre l'existence d'un fichier et le lancer   2007-07-22, 13:50

Le problème c'est que pour lancer ce fichier, je dois attendre la fin de mon installation car ce fichier est utilisé par un process.

J'ai essayé ceci mais le player ne se lance pas et je trouve que cela monopolise un peu trop le processeur.

Run ("QuickTimeInstaller.exe /S /v/qn")

While 1
If ProcessExists ("QuickTimeInstaller.exe") =1 Then
Sleep (10000)
EndIf
WEnd

While 2
If FileExists ("C:Program FilesQuickTimeQuickTimePlayer.exe") =0 Then
Sleep (1000)
EndIf
WEnd

Run ("C:Program FilesQuickTimeQuickTimePlayer.exe")

Merci
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
eln
Débutant
Débutant


Nombre de messages : 5
Date d'inscription : 22/07/2007

MessageSujet: Re: [Résolu]Attendre l'existence d'un fichier et le lancer   2007-07-22, 14:32

J'ai résolu avec ceci :

Run ("QuickTimeInstaller.exe /S /v/qn")

While 1
If ProcessExists ("QuickTimeInstaller.exe") =1 Then
Sleep (10000)
EndIf
WEnd

While 2
If FileExists ("C:\Program Files\QuickTime\QuickTimePlayer.exe") Then
ExitLoop
EndIf
WEnd

Run ("C:\Program Files\QuickTime\QuickTimePlayer.exe")

Si quelqu'un a mieux, Merci.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
ani
Modérateur
Modérateur


Nombre de messages : 563
Date d'inscription : 23/01/2007

MessageSujet: Re: [Résolu]Attendre l'existence d'un fichier et le lancer   2007-07-22, 16:46

bonjour eln ,,,

essaye plutôt

runwait("QuickTimeInstaller.exe /S /v/qn")
sleep(100)
run(@programsdir &"\QuickTimeQuick\TimePlayer.exe")


si c'est juste pour une installation ,, ou désire tu d'abord savoir si le logiciel existe avant de l'instller ?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
eln
Débutant
Débutant


Nombre de messages : 5
Date d'inscription : 22/07/2007

MessageSujet: Re: [Résolu]Attendre l'existence d'un fichier et le lancer   2007-07-22, 17:52

Merci ça marche. C'était juste pour une installation.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
sylvanie
Modérateur
Modérateur


Nombre de messages : 300
Date d'inscription : 10/03/2007

MessageSujet: Re: [Résolu]Attendre l'existence d'un fichier et le lancer   2007-07-22, 18:07

reprenons ce code par morceaux mêm si ce problème semble résolu :

[quote:34e3="eln"]J'ai résolu avec ceci :

Run ("QuickTimeInstaller.exe /S /v/qn")

While 1
If ProcessExists ("QuickTimeInstaller.exe") =1 Then
Sleep (10000)
EndIf
WEnd
[/quote]

concrètement tu ne vas jamais sortir de cette boucle puisque c'est une boucle infinie sans exitloop ...
je pense que ce à quoi tu pensais était plutôt

[code]
While ProcessExists ("QuickTimeInstaller.exe") =1
Sleep (10000)
WEnd
[/code]

qui se traduit par si ce process exist alors pause de 10 seconde avant de retester, et quand le process n'existe plus, la condition devient fausse et on sort

[quode]

While 2
If FileExists ("C:\Program Files\QuickTime\QuickTimePlayer.exe") Then
ExitLoop
EndIf
WEnd

Run ("C:\Program Files\QuickTime\QuickTimePlayer.exe")
[/quote]

while 2, certes ça marche, mais pourquoi 2 ? , c'est pas un numero d'incrémentation ... sinon le reste est fonctionnel, mais je me demande si le test de l'exe en cours n'aurait pas pu être évité en remplaçant run par runwait, car le script aurait attendu la fin de l'installation.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
eln
Débutant
Débutant


Nombre de messages : 5
Date d'inscription : 22/07/2007

MessageSujet: Re: [Résolu]Attendre l'existence d'un fichier et le lancer   2007-07-22, 18:53

Merci pour ces éclaircissements.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Contenu sponsorisé




MessageSujet: Re: [Résolu]Attendre l'existence d'un fichier et le lancer   Aujourd'hui à 22:41

Revenir en haut Aller en bas
 
[Résolu]Attendre l'existence d'un fichier et le lancer
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu]Créer un fichier txt avec GM
» (Résolu )comment ouvrir un fichier DPS ,?
» [Résolu] decalage son sur fichier Avi
» [Résolu] Lien vers un fichier pdf
» [résolu]Création de fichier gpx utilisable à partir de Google Maps et gpsvisualizer

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
AutoIt Français :: AutoIt v3 :: Entraide-
Sauter vers: