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

Fermé
DjGab21 - 27 févr. 2012 à 19:30
 DjGab21 - 1 mars 2012 à 16:52
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 dimanche 13 août 2006 Statut Membre Dernière intervention 23 juin 2013 854
Modifié par jmwurth le 1/03/2012 à 10:04
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
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 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
1 mars 2012 à 10:32
hello
essaye avec
extract /e /l %2 %1
0