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

WinDev Discussion :

Problème exécution .bat [WD17]


Sujet :

WinDev

  1. #1
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 177
    Points : 232
    Points
    232
    Par défaut Problème exécution .bat
    Bonjour,

    Je crée un fichier .bat à exécuter automatiquement.

    Le soucis c'est que lorsque je le fais par le programme rien ne se passe or si je double clique manuellement sur le .bat le fichier s'exécute..

    Tout porte à croire que ma commande ne trouve pas le chemin spécifié..

    Voyez donc :

    Déclarations globales :
    DossierUser est une chaîne=fRepDonnéesUtilisateur()+"\netSend.bat"

    Code d'exécution :
    lanceappli(dossieruser) // première méthode rien ne se passe
    DDELance("Command.com " + DossierUser) // deuxième méthode rien ne se passe

    Je fais le test sur une machine en W2k..

    Une idée de pourquoi ça ne fonctionne pas?
    je désespère ..

    Merci d'avance
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

  2. #2
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    bonjour, à tester :

    Citation Envoyé par GiGii Voir le message
    Bonjour,

    Je crée un fichier .bat à exécuter automatiquement.

    Le soucis c'est que lorsque je le fais par le programme rien ne se passe or si je double clique manuellement sur le .bat le fichier s'exécute..

    Tout porte à croire que ma commande ne trouve pas le chemin spécifié..

    Voyez donc :

    Déclarations globales :
    DossierUser est une chaîne=fRepDonnéesUtilisateur()+"netSend.bat"Code d'exécution :
    lanceappli(dossieruser) // première méthode rien ne se passe
    DDELance("Command.com " + DossierUser) // deuxième méthode rien ne se passe

    Je fais le test sur une machine en W2k..

    Une idée de pourquoi ça ne fonctionne pas?
    je désespère ..

    Merci d'avance
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  3. #3
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Ton netsend.bat, tu mets quelquechose dedans ? (instruction du style fsauvetexte("net send...", DossierUser)

    As tu fais un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    si ffichierexiste(DossierUser) alors
      info("Gagné !")
    sinon
      erreur("Perdu !")
    fin
    pour voir si ton fichier est bien là ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  4. #4
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Bonjour
    Peut être que le répertoire d'exécution n'est pas correct, essaye de regarder en ce sens.
    aussi bien dans le lance appli que dans le ddelance, tu peux paramétrer le répertoire d'exécution.
    Bon dev
    Gancau

  5. #5
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 177
    Points : 232
    Points
    232
    Par défaut
    Oui il y a bien quelque chose dedans et quand il faut écrire dedans l'écriture se fait bien. Le soucis est juste au niveau du lancement manuellement.

    Comme quand je double clique dessus manuellement ça fonctionne je pense que le seul problème et que lorsque la fonction de lancement est appelée elle ne trouve pas le chemin d'accès au fichier.

    Le "\" n'a en rien arrangé les choses au contraire pour répondre à la première suggestion.. mais merci tout de même
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

  6. #6
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    lors utilise "LanceAppliAssociée"
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  7. #7
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Re bonjour
    Est-ce que ton .bat se trouve là où se trouve l'exe de ton appli ?
    Est-ce que tu as eu un gagné ou un perdu comme te l'as proposé frenchsting ?
    Gancau

  8. #8
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Il y a peut ^tre un problème d'écriture différée. Essaye de mettre un multitâche(-100) par exemple.
    As-tu essayé de faire un débogage ?

    et faire un :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI pas lanceAppli(...) ALORS
       Erreur(ErreurInfo())
    FIN
    pour tracer l'erreur éventuelle ?
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  9. #9
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 177
    Points : 232
    Points
    232
    Par défaut
    il existe bien et il le trouve bien.

    (j'avais pas pensé que mon lance appli pouvait renvoyé un erreurinfo.. Erreur de débutant sorry .. )

    Il me dit qu'il ne peut pas le lancer car le fichier est utilisé par un autre processus..
    avec lanceappliassociée il me dit que le document n'a pas été ouvert à cause d'un problème de partage.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	Multitâche()
    		SI LanceAppliAssociée(DossierUser) ALORS
    			Trace("oui")
    		SINON
    			Trace(ErreurInfo())			
    		FIN
    		Multitâche(100)

    peut être que le multitâche fonctionnerai mais je ne vois pas ou le mettre..
    éventuellement je devrais pas plutôt le mettre avant la fonction qui exécute ce code?
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

  10. #10
    Membre éclairé
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2007
    Messages
    615
    Détails du profil
    Informations personnelles :
    Localisation : France

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

    Informations forums :
    Inscription : Février 2007
    Messages : 615
    Points : 841
    Points
    841
    Par défaut
    Comment crées tu ton . bat ?
    Dans ton appli qui le lance ?
    Si c'est le cas, tu as fait comme cela ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    numbat=fouvre("le.bat",focreation+foecriture)
    ...
    Fferme(numbat)
    sans oublier le fferme ?

    Gancau

  11. #11
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    Je plussoie Gancau.

    Autre méthode : fsauvetexte(NomFichierBat,TexteAenregistrer)
    Un petit multitache(-100) après si besoin
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  12. #12
    Membre éprouvé Avatar de miripesage
    Homme Profil pro
    gerant
    Inscrit en
    Novembre 2009
    Messages
    725
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : gerant
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2009
    Messages : 725
    Points : 1 156
    Points
    1 156
    Par défaut
    [
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    			SI LanceAppliAssociée(DossierUser) ALORS
                            Multitâche(-100)
    			Trace("oui")
    		SINON
    			Trace(ErreurInfo())			
    		FIN
    Au travail, le plus difficile, c'est d'allumer la petite lampe du cerveau. Après, ça brûle tout seul!

  13. #13
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 177
    Points : 232
    Points
    232
    Par défaut
    Dans les déclarations globales :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DossierUser est une chaîne=fRepDonnéesUtilisateur()+"\netSend.bat"
    DossierIni est une chaîne = fRepDonnéesUtilisateur()+"\netSend.ini"
    Je déclare deux fichiers un bat et un ini
    Le .bat me permet d'exécuter et le .ini me permet de vérifier si il y a un nouveau message

    Ensuite à l'initialisation j'écris une clé de registre.. et je lance mon appli timer

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SI PAS RegistreExiste(gsHKey, "WD_NetSend") ALORS
    	SI PAS RegistreEcrit(gsHKey,"WD_NetSend",ExeInfo(exeNom)) ALORS
    		Erreur("Impossible d'écrire la clé dans le registre.." + ErreurInfo())
    	FIN
    FIN
    Iconise(FEN_NetSend_Mess)
    FEN_NetSend_Mess..Visible = Faux
     
    netSend()
    Procédure netsend()

    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
     
    idfichier est un entier 
    resecriture est une chaîne
    sChaineSansRC est une chaîne de 128
    sChaine est une chaîne
     
    gnCode = INILit("Messages", "code", "", DossierIni)
    HLitDernier(Messages,Code)
    SI Messages.NetSend = Vrai ALORS
    	SI Messages.Code <> gnCode ALORS
     
    		sChaine = Messages.Corps 
    		POUR TOUTE CHAÎNE sSOuschaine DE sChaine SÉPARÉE PAR RC
    			sChaineSansRC += sSOuschaine + " " 
    		FIN
     
    		sChaineSansRC= AnsiVersOem(sChaineSansRC)
    // Je supprime le .bat et je le recrée (sinon il écrase pas il mélange les deux textes et le focréation avait prob de droit d'accès en écriture.. Bizarrement ainsi ça passe)
    		fSupprime(DossierUser)
    // Création et ouverture du netSend.bat dans le frepdonnéesutilisateurs
    		idfichier = fOuvre(DossierUser,foCréationSiInexistant)
    		SI idfichier <> -1 ALORS
    			resecriture = fEcrit(idfichier,"net send *  "+ sChaineSansRC )
    		SINON
    			Trace(ErreurInfo())
     
    		FIN
    		Multitâche()
    		SI LanceAppliAssociée(DossierUser) ALORS
    		//si lanceappli(fRepDonnéesUtilisateur()+"\netSend.bat",exeactif,exeNonBloquant,fRepDonnéesUtilisateur()) alors
    			Trace("oui")
    		SINON
    			Trace(ErreurInfo())			
    		FIN
    		Multitâche(100)
    	//	lanceappli("\netSend.bat",exeactif,exeNonBloquant,fRepDonnéesUtilisateur())
    	//	DDELance("Command.com " + DossierUser)
    		INIEcrit("Messages", "code", Messages.Code,DossierIni)
    		INIEcrit("Messages", "corps", Messages.Corps, DossierIni)
     
    		fAttribut(DossierUser,"H")
    		fAttribut(DossierIni,"H")
    	FIN
    FIN
    Voila j'ai mis tout le code de l'exe.
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

  14. #14
    Expert éminent
    Avatar de frenchsting
    Homme Profil pro
    multitâches-multifonctions
    Inscrit en
    Juin 2003
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : multitâches-multifonctions
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2003
    Messages : 5 202
    Points : 9 190
    Points
    9 190
    Par défaut
    remplace :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    	Multitâche()
    	SI LanceAppliAssociée(DossierUser) ALORS
    	//si lanceappli(fRepDonnéesUtilisateur()+"\netSend.bat",exeactif,exeNonBloquant,fRepDonnéesUtilisateur()) alors
    		Trace("oui")
    	SINON
    		Trace(ErreurInfo())			
    	FIN
    	Multitâche(100)
    Par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    	SI idfichier <> -1 ALORS
    		resecriture = fEcrit(idfichier,"net send *  "+ sChaineSansRC )
    	SINON
    		Trace(ErreurInfo())
    		
    	FIN
                 fferme(idfichier)		
                 Multitâche()
    	si lanceappli(fRepDonnéesUtilisateur()+"\netSend.bat",exeactif,exeNonBloquant,fRepDonnéesUtilisateur()) alors
    		Trace("oui")
    	SINON
    		Trace(ErreurInfo())			
    	FIN
    	//Multitâche(100)
    Commencez toujours appuyer sur la touche F1 et puis n'hésitez à passer par un moteur de recherche...
    Le forum est fait pour répondre aux questions : pas la peine de me les envoyer par MP. Merci.

    Sur internet, tout est vrai ! Honoré de Balzac
    Make it real not fantasy... Herman Rarebell

  15. #15
    Membre actif
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2011
    Messages
    177
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2011
    Messages : 177
    Points : 232
    Points
    232
    Par défaut
    Un simple fferme était donc la solution.

    Un grand merci je le classe en résolu !
    Bon Dev
    La touche F1 est proche de vous !
    Oubliez pas de voter

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Problème fichier bat et programme exécuté par défaut
    Par Pictavia dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 17/06/2015, 11h41
  2. Problème de droit pour exécuter .bat(vista)
    Par jps020258 dans le forum Administration
    Réponses: 1
    Dernier message: 11/06/2010, 09h39
  3. Problème exécution fichier.bat
    Par Barbu15-95 dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 03/10/2006, 23h02
  4. Réponses: 4
    Dernier message: 09/12/2005, 22h17
  5. [VB.NET] Problème exécution en mode release.
    Par leSeb dans le forum Windows Forms
    Réponses: 2
    Dernier message: 07/01/2005, 17h39

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