Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Paramètre de fichier batch

6,371 views
Skip to first unread message

dpe...@sls.fr

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to
Bonjour,

Est-il possible d'utiliser des paramètres avec un fichier batch ?
Si oui comment ?
(j'ai essayé un $1 au hasard, ca marche pas...)

Merci d'avance...

PS : Merci de répondre via le newsgroup, l'adresse mail n'est pas bonne...

Bib

Alain V.

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to
pas mal tenté ;-) ... mais c'est un % qu'il faut utiliser ...

dpe...@sls.fr a écrit dans l'article <367f9807...@news.cornut.fr>...

Anthony FACCHIN

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to
essaye un %xxx%
par exemple, le nom utilisateur est : %username%

dpe...@sls.fr a écrit dans le message <367f9807...@news.cornut.fr>...

Jean-Claude BELLAMY

unread,
Dec 22, 1998, 3:00:00 AM12/22/98
to
dpe...@sls.fr a écrit :

> Est-il possible d'utiliser des paramètres avec un fichier batch ?
> Si oui comment ?
> (j'ai essayé un $1 au hasard, ca marche pas...)

Toi, tu as encore abusé d'UNIX !!!
Me trompe-je ? :+))

Sous DOS/Win95/98/NT , un paramètre formel est représenté par la chaine
"%n", n étant un chiffre compris entre 1 et 9.
Le paramètre "%0" est un peu spécial, puisqu'il contient implicitement
le nom du fichier de commande lui-même (avec ou sans chemin, avec ou
sans extension, suivant qu'on les a explicitement tapés dans la ligne de
commande ou non)

Si on veut passer plus de 9 paramètres, il suffit d'utiliser la commande
"shift", qui comme son nom le suggère, provoque un décalage dans la
numérotation des paramètres : le 1er est perdu, le 2ème devient le
1er,..., le 10ème devient le 9ème et le paramètre %0 reste inchangé de
toute façon.

Exemple :
toto.bat
@echo off
echo Ce fichier de commandes s'appelle : %0
:boucle
echo on a passe les parametres : %1 %2 %3
if %4.==. goto fin
shift
goto boucle
:fin

Si on exécute
C:\temp>c:\temp\toto.bat May the Force be with You!
on obtiendra le résultat :
Ce fichier de commandes s'appelle : c:\temp\toto.bat
on a passe les parametres : May the Force
on a passe les parametres : the Force be
on a passe les parametres : Force be with
on a passe les parametres : be with You!

Sous NT, on peut de plus provoquer le décalage seulement à partir d'un
certain rang "n", en utilisant à la suite de la commande "shift" le
commutateur "/n" (les n-1 1ers paramètres sont conservés):
@echo off
echo Ce fichier de commandes s'appelle : %0
:boucle
echo on a passe les parametres : %1 %2 %3
if %4.==. goto fin
REM on décale à partir du 3ème paramètre seulement
shift /3
goto boucle
:fin

Si on exécute
C:\temp>toto May the Force be with You!
on obtiendra le résultat :
Ce fichier de commandes s'appelle : toto
on a passe les parametres : May the Force
on a passe les parametres : May the be
on a passe les parametres : May the with
on a passe les parametres : May the You!

--
May the Force be with You !
--------------------------------------------------------------------------
Jean-Claude BELLAMY
http://members.aol.com/bellamyjc
Jean-Clau...@edfgdf.fr
EDF-DER 1, av. du Général de Gaulle 92141 CLAMART CEDEX - FRANCE
http://www.edf.fr

0 new messages