Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Fenètre CMD reste ouverte lorsque je lance un exe?

8 réponses
Avatar
Otto Haldi
Bonjour à tous,

Je teste le batch suivant qui update des fichiers depuis un serveur:

ECHO . Check update!
attrib kalga32.exe -r
xcopy S:\Archiv\xHarbour\Kalga32\kalga32.exe /D /Y
attrib kalga32.exe +r
call KALGA32.EXE

L'update fonctionne parfaitement. Malheureusement la fenètre cmd qui a lancé l'exe reste ouverte en arrière plan.
J'ai essayé en ajoutant la commande call devant mais le problème reste.

Merci d'avance pour tous renseignements.
Otto

8 réponses

Avatar
at
Otto Haldi a émis l'idée suivante :
Bonjour à tous,

Je teste le batch suivant qui update des fichiers depuis un serveur:

ECHO . Check update!
attrib kalga32.exe -r
xcopy S:ArchivxHarbourKalga32kalga32.exe /D /Y
attrib kalga32.exe +r
call KALGA32.EXE

L'update fonctionne parfaitement. Malheureusement la fenètre cmd qui a lancé
l'exe reste ouverte en arrière plan. J'ai essayé en ajoutant la commande call
devant mais le problème reste.

Merci d'avance pour tous renseignements.
Otto



Et bien ajoute exit.
Avatar
Jean-Claude BELLAMY
"Otto Haldi" a écrit dans le message de groupe de
discussion :
Bonjour à tous,

Je teste le batch suivant qui update des fichiers depuis un serveur:

ECHO . Check update!
attrib kalga32.exe -r
xcopy S:ArchivxHarbourKalga32kalga32.exe /D /Y
attrib kalga32.exe +r
call KALGA32.EXE

L'update fonctionne parfaitement. Malheureusement la fenètre cmd qui a
lancé l'exe reste ouverte en arrière plan.


Normal !

J'ai essayé en ajoutant la commande call devant mais le problème reste.



"Call" ne sert qu'à lancer un 2ème batch depuis un 1er batch et revenir dans
le 1er à l'instruction suivant le call une fois que le 2ème est terminé.

Il te faut utiliser non pas call, mais "start".

start KALGA32.EXE


--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Avatar
Jean-Claude BELLAMY
"at" a écrit dans le message de groupe de discussion :
4bdf1d17$0$2947$
Otto Haldi a émis l'idée suivante :
Bonjour à tous,

Je teste le batch suivant qui update des fichiers depuis un serveur:

ECHO . Check update!
attrib kalga32.exe -r
xcopy S:ArchivxHarbourKalga32kalga32.exe /D /Y
attrib kalga32.exe +r
call KALGA32.EXE

L'update fonctionne parfaitement. Malheureusement la fenètre cmd qui a
lancé l'exe reste ouverte en arrière plan. J'ai essayé en ajoutant la
commande call devant mais le problème reste.




Et bien ajoute exit.




Voila une RALC (réponse à la con) qu'elle est bonne ! ;-)

Vu que "call" ATTEND que le batch ou exécutable transmis soit terminé avant
de passer à la suite, le "exit" final que tu rajoutes est totalement
superflu ici (puisque c'est la dernière instruction du batch).



--
May the Force be with You!
La Connaissance s'accroît quand on la partage
----------------------------------------------------------
Jean-Claude BELLAMY [MVP]
http://www.bellamyjc.org ou http://jc.bellamy.free.fr
Avatar
Otto Haldi
On Tue, 4 May 2010 08:48:56 +0200, "Jean-Claude BELLAMY" wrote:

Bonjour Jean-Claude,

Un grand merci pour ton aide, je vais tester cela de suite.

"Call" ne sert qu'à lancer un 2ème batch depuis un 1er batch et revenir dans
le 1er à l'instruction suivant le call une fois que le 2ème est terminé.



Je savais cela, c'était juste pour tester. Par contre, je n'ai plus pensé a cette commande start!

Bonne journée
Otto


"Otto Haldi" a écrit dans le message de groupe de
discussion :
Bonjour à tous,

Je teste le batch suivant qui update des fichiers depuis un serveur:

ECHO . Check update!
attrib kalga32.exe -r
xcopy S:ArchivxHarbourKalga32kalga32.exe /D /Y
attrib kalga32.exe +r
call KALGA32.EXE

L'update fonctionne parfaitement. Malheureusement la fenètre cmd qui a
lancé l'exe reste ouverte en arrière plan.


Normal !

J'ai essayé en ajoutant la commande call devant mais le problème reste.



"Call" ne sert qu'à lancer un 2ème batch depuis un 1er batch et revenir dans
le 1er à l'instruction suivant le call une fois que le 2ème est terminé.

Il te faut utiliser non pas call, mais "start".

start KALGA32.EXE
Avatar
Max PUECH
Dans <4bdfc359$0$27599$, Jean-Claude
BELLAMY a écrit:

Il te faut utiliser non pas call, mais "start".

start KALGA32.EXE



Bonsoir,

Et avec "KALGA32.EXE" tout simplement, ça ne marche pas ?

@+
Avatar
Ascadix
Max PUECH a exprimé avec précision :
Dans <4bdfc359$0$27599$, Jean-Claude
BELLAMY a écrit:

Il te faut utiliser non pas call, mais "start".

start KALGA32.EXE



Bonsoir,

Et avec "KALGA32.EXE" tout simplement, ça ne marche pas ?



Non, dans ce cas là, ça ferais un CALL implicite et le batch attend
quel e.EXE soit terminé avant de poursuivre.

@+



--
@+
Ascadix
adresse @mail valide, mais ajoutez "sesame" dans l'objet pour que ça
arrive.
Avatar
Otto Haldi
On Tue, 4 May 2010 18:13:54 +0200, Max PUECH wrote:

Dans <4bdfc359$0$27599$, Jean-Claude
BELLAMY a écrit:

Il te faut utiliser non pas call, mais "start".

start KALGA32.EXE



Bonsoir,

Et avec "KALGA32.EXE" tout simplement, ça ne marche pas ?

@+


Malheureusement non...
Avatar
mdnews
On Thu, 06 May 2010 09:22:15 +0200, Otto Haldi
wrote:

On Tue, 4 May 2010 18:13:54 +0200, Max PUECH wrote:

Dans <4bdfc359$0$27599$, Jean-Claude
BELLAMY a écrit:

Il te faut utiliser non pas call, mais "start".

start KALGA32.EXE



Bonsoir,

Et avec "KALGA32.EXE" tout simplement, ça ne marche pas ?



Malheureusement non...



Il existe une curiosité (bug?) sur certains OS MS qui fait que si un
batch ne commence pas par @ECHO OFF la fenêtre ne se referme pas une
fois le batch terminé. (pourquoi ? je ne sais pas)