OVH Cloud OVH Cloud

cmd /k

1 réponse
Avatar
Dom
Bonjour à tous,

Sous un ancien serveur NT4.0, j'utilisais un batch contenant plusieurs
appels à d'autres batch via la commande cmd /k. Il n'y avait pas de soucis,
l'ensemble du batch père se déroulait et lançait les sous routines en /k les
unes après les autres.
Ce serveur NT a été remplacé par un serveur W2k et j'ai donc déplacé mon
batch pour qu'il continue son rôle. Par contre, je constate maintenant que
ce batch lance la 1ere sous routine en cmd /k rencontrée mais s'arrête
ensuite dans son déroulé, ne lançant plus les autres sous routines à suivre
!
Que s'est il bien passée entre ce batch sous NT et ce même batch sous 2000
??? Une idée du pkoi et de comment rectifier le tir ?
Merci

Dom

1 réponse

Avatar
Guillaume Bordier [MS]
Bonjour,

selon la doc en ligne, /K est l'option qui permet de laisser le cmd.exe fils
en attente après l'execution d'un script. Je pense que vous auriez du
utiliser /C qui sert justement à ce que le cmd.exe sorte après execution de
la commande.

Cela dit, il est beaucoup plus intéressant d'utiliser la command "call
<chemin du batch>" dans un batch pour en appeler un autre, cela évite de
creer un nouveau process cmd.exe, c'est donc plus économique.

Cette commande permet même de faire des équivalent d'appels de fonctions au
sein d'un même batch sous la forme "call :etiquette" ou :etiquette est une
sous routine.

:main
echo bonjour
echo j'appelle ma sous routine
call :sousroutine
echo j'ai fini
goto :eof
:sousroutine
echo je suis la sous routine
goto :eof

Guillaume

"Dom" wrote in message
news:
Bonjour à tous,

Sous un ancien serveur NT4.0, j'utilisais un batch contenant plusieurs
appels à d'autres batch via la commande cmd /k. Il n'y avait pas de
soucis,
l'ensemble du batch père se déroulait et lançait les sous routines en /k
les
unes après les autres.
Ce serveur NT a été remplacé par un serveur W2k et j'ai donc déplacé mon
batch pour qu'il continue son rôle. Par contre, je constate maintenant que
ce batch lance la 1ere sous routine en cmd /k rencontrée mais s'arrête
ensuite dans son déroulé, ne lançant plus les autres sous routines à
suivre
!
Que s'est il bien passée entre ce batch sous NT et ce même batch sous 2000
??? Une idée du pkoi et de comment rectifier le tir ?
Merci

Dom