Rechercher : dans
Par :

Comment passer des paramètres à un batch

Dernière réponse le 15 fév 2008 à 19:49:35 randall, le 11 fév 2008 à 17:06:07 
 Signaler ce message aux modérateurs

Bonjour,

N'ayant que des connaissances sommaires en commandes batch je voudrais savoir comment on passe des paramètres à un batch.
J'ai un fichier nommé sauvegarde. bat dans lequel je veux créer 2 repertoires un nommé sauvegarde 1 l'autre sauvegarde2
Au départ j'ai la commande MD%1 pour créer le premier repertoire,quel texte faut'il écrire pour lui passer le premier paramètre soit sauvegarde1 et ensuite pour passer le second soit sauvegarde2.

Après c'est de la commade avec xcopy qui ne me pose pas de problème.
Merci

Configuration: Windows XP et windows 98 en dualboot
Internet Explorer 7.0

Meilleures réponses pour « Comment passer des paramètres à un batch » dans :
Bash - Les paramètres VoirIntroduction Les paramètres positionnels Exemple 1 Les paramètres spéciaux Exemple 2 Initialiser des paramètres - La commande "set" - Exemples - La commande "shift" - Exemple 3 Introduction Il est possible de fournir à un script,...
[Mozilla Firefox] Sauvegarder les paramètres VoirSauvegarder / Restaurer les paramètres de Firefox, les marque-pages, historique et les extensions installées Commencez par afficher les fichiers cachés. Sous Vista, il faut s'approprier le dossier C:\users\Utilisateur*\Application Data pour...
Facebook - Changer son mot de passe VoirPour changer son mot de passe sur Facebook, il suffit de suivre la procédure suivante : 1- Ouvrir Facebook 2- Cliquer sur "Paramètres" en haut à droite 3- Cliquer sur "Modifier" dans la catégorie "Mot de passe". 4- Changer le mot de passe
Télécharger Password Interlock VoirVoulez-vous un endroit sûr pour stocker vos mots de passes ? Une seule adresse : Password interlock. Password interlock est un programme qui vous permet de garder vos différents login et mot de passe en sécurité. Comme paramètre de sécurité, il vous...
Java - Premier programme VoirPremière application avec Java La première chose à faire est de créer un simple fichier texte (sans mise en forme) et de taper les quelques lignes suivantes : // Votre premiere application en Java class FirstApp { public static void main...

1

cchristian, le 13 fév 2008 à 01:31:10

Bonjour,


Si j'ai bien compris le problème il te suffit d'écrire :

nom_de_ton_.bat sauvegarde1 sauvegarde2

Après validation de cette commande activant l'exécution de batch nom_de_ton_.bat se trouvent :
La chaîne de caractères sauvegarde1 dans %1.
La chaîne de caractères sauvegarde2 dans %2.
Cordialement.

Cchristian.

Répondre à cchristian

2

randall, le 14 fév 2008 à 11:51:33

Bonjour,

C'est bien ça mais le batch ne fonctionne pas les paramètres ne sont pas pris en compte .Donc le repertoire md sauvegarde n'est pas crée.

@echo off

echo c:\appel\essai.bat sauvegarde1 sauvegarde2
echo le premier param est %1
echo le second param est %2
echo md c:\%1

Merci

Répondre à randall

3

cchristian, le 14 fév 2008 à 12:12:33

Bonjour,

Je ne comprrends pas ce que tu veux faire avec la commande :
echo c:\appel\essai.bat sauvegarde1 sauvegarde2
En l'occurrence elle ne fait qu'afficherà la console la chaîne de caractères :
c:\appel\essai.bat sauvegarde1 sauvegarde2
idem pour : echo md c:\%1 qui affichera à la console : md c:\%1

Si ton fichier, tel que tu le définis, est appelé (exécuté) avec deux paramètres de passation, ils seront affichés normalement par les commandes :
echo le premier param est %1
echo le second param est %2

la commande echo n'active pas le texte qu'elle contient, elle l'affiche uniquement. Cordialement.

Cchristian.

Répondre à cchristian

4

cchristian, le 14 fév 2008 à 14:28:49

Bonjour,

petit rectificatif:
echo md c:\%1
affichera
md c:\nom_1er_param_passation
et non pas comme je l'ai indiqué :
md c:\%1
Cordialement.

Cchristian.

Répondre à cchristian

5

randall, le 14 fév 2008 à 15:24:25

Rebonjour,

Je pense que quelquechose m'échappe dans la compréhension du problème.

Si j'ai le batch suivant:
@echo off
c:\appel\essai.bat reper1 reper2 reper3
echo le premier parametre est %1
echo le second parametre %2
echo le troisieme parametre est %3

echo md c:\%1

Au lancement les paramètres reper1 etc.. ne sont pas transmis à %1 %2 etc..
et à fortiori le repertoire que je veux créer avec md n'est pas crée le batch m'affiche md c:\

Si tu peux le tester sur ton micro et me dire ce que cela te donne
Merci et désolé de t'ennuyer encore

Répondre à randall

6

cchristian, le 14 fév 2008 à 17:53:07

Tu ne m'ennuies pas.

Ce que tu sembles n'avoir pas très bien compris n'est, apparemment pas l'utilité des paramètres de passation, mais plutôt le moyen de les utiliser, où dans le cas présent le "moment" où il faut les coder dans la chronologie des actions à mener pour activer l'exécution d'un batch.

1) Ecriture d'un batch qui doit récupérer deux paramètres de passation lesquels vraisemblablement orienteront sa logique d'exécution.
Même si cette logique d'exécution se ramène, comme c'est le cas dans ton exemple, à formater une instruction, en l'occurrence :
echo md c:\%1
Ce batch (comme tous les batch) s'attend à recevoir jusquà 9 valeurs &1 à &9 (&0 contient le nom du batch actif). A charge pour sa logique d'exécution de réceptionner, c'est-à-dire d'utiliser (d'exploiter), tout ou partie de ces 9 paramètres.
Ces 10 paramètres sont positionnels &0 = nom du batch. Si &1 présent &1 = 1er paramètre, Si &1 ET &2 présents &2 = 2em paramètre, Si &1 ET &2 ET &3 présents &3 = 3em paramètre, ect......
2) Activation du batch. Pour ce faire il suffit de taper dans la ligne de commande son nom. Les différentes commandes et instructions présentes s'exécuteront une à une dans l'ordre "chronologique (goto, cal,l considérés) où elles sont écrites. Dans ce premier cas seul le nom a été tapé au clavier, il s'ensuit que les paramètres &1 à &9 sont vides (NULL) le paramètre &0 est uniquement renseigné avec le nom du batch.
Pour communiquer une ou plusieurs valeurs au batch il suffit de faire suivre son nom,toujours tapé sur la ligne de l'invite de commande (où dans le cas de communication inter-fichiers de commandes comme paramètres d'un call ou d'un start) de un, deux, ...jusqu'à 9 valeurs séparées par au moins un espace. Dans notre cas deux valeurs suivront le nom, exemple :
nom_de_ton_.bat sauvegarde1 sauvegarde2
&1 et &2 sont donc renseignés respectivement avec sauvegarde1 et sauvegarde2, &3 jusquà &9 sont vides de toute valeur (remarque annexe : l'absence d'information/donnée est déjà une information/indication).

Tu n'as par conséquent pas besoin de l'instruction (qui en l'état n'en est pas une), disons d'une instruction particulière, qui te permettrait de renseigner dans ton batch les paramètres &1 à &9 (ici &1 et &2), ils le sont (ou peuvent l'être, car optionnels et positionnels) à l'activation du batch.
Cordialement.

Cchristian.

Répondre à cchristian

7

randall, le 15 fév 2008 à 10:28:44

Bonjour,
OK cette fois j'ai compris ce que je ne faisais pas c'est d'écrire dans la ligne de commande du batch, j'écrivais les paramètres dans le texte du batch d'où l'erreur permanente à laquelle j'étais confrontée.

Enfin merci pour le dérangement

Répondre à randall

8

cchristian, le 15 fév 2008 à 12:15:39

Bonjour,

C'est ça !

Bon courage, Cordialement.

Cchristian.

Répondre à cchristian

9

 floxi, le 15 fév 2008 à 19:49:35

Salut,

si tu veut un exemple concret de passage de paramètres dans un .bat regarde ici http://batcher.ath.cx/fonctions.php#param

bon courage
Flox

Répondre à floxi