Arguments/Paramètres en Batch (MS-DOS 6.22)

DjGab21 -  
 DjGab21 -
Bonjour,

Je suis actuellement entrain de programmer un utilitaire en Batch (avec les quelques connaissances que j'ai), mais j'ai un problème sur une ligne.
L'utilisateur doit appeler mon programme Batch avec 2 paramètres:
Fichier.bat param1 param2
Quand je fais un "echo" pour afficher les paramètres (%1% et %2%) le programme affiche bien les deux paramètres passés (qui sont en fait des chemins de fichiers).
Cependant, quand j'utilise les paramètres %1% et %2%, le programme n'en détecte qu'un.
Voici une partie de mon code pour vous aider à visualiser mon problème:
@echo off
if %1% == ? goto AIDE

extract /e /l %2% %1%

goto FIN

(suite du code ici)

Le problème se situe au passage des paramètres au programme Extract.
Le batch exécute en fait: (dans cet exemple le paramètre 2 vaut "c:\")

extract /e /l c:\1


Il ne détecte pas le contenu du paramètre 1 qui doit être passé juste après. Il colle juste le chiffre 1 au paramètre utilisé précédemment.

Pouvez-vous m'éclairer et me signaler mon erreur ?
Que me proposez-vous pour remédier à cette erreur ?

Merci d'avance.


A voir également:

2 réponses

jmwurth Messages postés 2933 Date d'inscription   Statut Membre Dernière intervention   854
 
Bonjour. Je propose ceci :

if "%1" == "?" goto AIDE
extract /e /l %2 %1
goto FIN

Le DOS 6.22 accompagnait Windows 3.11 . Je serais surpris qu'il fonctionne sous Windows 7
0
DjGab21
 
Bonjour, merci de votre réponse. Ce code fonctionne parfaitement ! En effet, je ne sais pas pourquoi j'avais en tête de mettre absolument un "%" derrière le numéro du paramètre. Quoi qu'il en soit, je vous remercie beaucoup.
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
essaye avec
extract /e /l %2 %1
0